Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA DELL'INFORMAZIONE
Insegnamento
DATI E ALGORITMI 1
IN04111234, A.A. 2019/20

Informazioni valide per gli studenti immatricolati nell'A.A. 2018/19

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA DELL'INFORMAZIONE
IN0513, ordinamento 2011/12, A.A. 2019/20
N0
porta questa
pagina con te
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese DATA STRUCTURES AND ALGORITHMS 1
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile ANDREA ALBERTO PIETRACAPRINA INF/01

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
BASE Matematica, informatica e statistica INF/01 4.0
BASE Matematica, informatica e statistica ING-INF/05 5.0

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso II Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 30/09/2019
Fine attività didattiche 18/01/2020
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Syllabus
Prerequisiti: Fondamenti di Informatica
Conoscenze e abilita' da acquisire: Il corso ha l'obiettivo di presentare in forma sistematica le metodologie fondamentali per il progetto e l'analisi di algoritmi e strutture dati efficienti, nonché la loro realizzazione nell'ambito del paradigma di programmazione orientato agli oggetti (con specifico riferimento al linguaggio Java)
Modalita' di esame: Prove di accertamento intermedie, opzionali.
Prova finale scritta obbligatoria.
Criteri di valutazione: La valutazione si baserà sulla comprensione degli argomenti di teoria svolti e sulla capacità di applicarli nella progettazione di algoritmi e strutture dati efficienti.
Contenuti: - Programmazione orientata agli oggetti in Java (richiami): classi, interfacce, ereditarietà, polimorfismo, iteratori.
- Specifica di algoritmi: modello di calcolo, problema computazionale, algoritmo.
- Analisi di algoritmi: elementi di calcolo combinatorio e asintotico, induzione, analisi di complessità e correttezza.
- Alberi: definizioni, proprietà, visite. Alberi binari.
- Code con priorità e heap.
- Mappe e tabelle hash. Dizionari.
- Alberi di ricerca: definizioni e casi particolari. Alberi binari di ricerca; alberi (2,4).
- Algoritmi di ordinamento. Limite inferiore al problema dell'ordinamento basato su confronti.
- Pattern matching tra stringhe.
- Grafi: definizioni, proprietà, strutture dati per la loro rappresentazione, visite (BFS e DFS).
Attivita' di apprendimento previste e metodologie di insegnamento: Lezioni frontali.
Eventuali indicazioni sui materiali di studio: Il diario delle lezioni, il materiale aggiuntivo, le modalità d'esame dettagliate e raccolte di esercizi svolti sono rese disponibili sul sito del corso indicato sulla piattaforma moodle: http://elearning.dei.unipd.it
Testi di riferimento:
  • Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Data Structures and Algorithms in Java, Sixth edition. --: John Wiley & Sons, 2014. ISBN 978-1-118-80857-3 Cerca nel catalogo