INFORMATICA I - MOD. 2
- Anno accademico
- 2021/2022 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER SCIENCE I - MOD. 2
- Codice insegnamento
- CT0569 (AF:355375 AR:186678)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di INFORMATICA I
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- ING-INF/05
- Periodo
- II Semestre
- Anno corso
- 1
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
e fornisce un'introduzione alla programmazione ad oggetti, agli algoritmi ed alle strutture dati, ovvero alla formalizzazione dei problemi, all'individuazione di soluzioni computazionali, e all'analisi di tali soluzioni, dal punto di vista della correttezza e dell'efficienza nell'uso di risorse.
Risultati di apprendimento attesi
- conoscenza e comprensione dei principali algoritmi e strutture dati;
- comprensione e valutazione della complessità dei problemi informatici e capacità di selezionare metodi adeguati per la modellazione e risoluzione del problema.
Capacità di applicare conoscenza e comprensione:
- capacità logico-deduttive e di problem solving;
- capacità di formalizzare e implementare soluzioni per problemi reali e identificazione di pattern di soluzione appropriati;
Capacità di giudizio
- Sapere formulare ed argomentare soluzioni, sviluppando anche un approccio critico alla valutazione di soluzioni alternative
Prerequisiti
Contenuti
Classi ed istanze
Ereditarietà e polimorfismo
Design pattern: singleton, strategy, command, factory, listener-observer
Strutture dati
Array, liste e alberi
Dizionari e tabelle Hash
Alberi binari di ricerca
Heap e code di priorità
Algoritmi, modelli di calcolo e metodologie di analisi:
Introduzione informale agli algoritmi. Modelli di calcolo.
Notazione asintotica.
Ricorrenze.
Tecniche fondamentali per il progetto di algoritmi:
Tecnica divide et impera.
Programmazione dinamica.
Algoritmi golosi
Testi di riferimento
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Introduction to algorithms (3rd Edition), MIT Press, 2009. (Traduzione italiana a cura di Livio Colussi edita da McGraw-Hill, Milano, 2010.)
Modalità di verifica dell'apprendimento
L'esame scritto finale è composto da problemi simili a quelli svolti in classe durante il lavoro di gruppo. Durante il compito non è consentito l'uso di appunti, libri e altro materiale didattico. Un fac-simile del compito sarà reso disponibile.
Gli studenti frequentanti le lezioni possono accumulare ulteriori punti partecipando ai quiz e alle esercitazioni proposte in classe. Il bonus verrà aggiunto al voto del compito scritto.
Modalità di esame
Metodi didattici
Esercitazioni: lavoro di gruppo (peer-teaching, problem solving)