INFORMATICA I - MOD. 2
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER SCIENCE I - MOD. 2
- Codice insegnamento
- CT0569 (AF:574428 AR:321813)
- 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
- Sede
- VENEZIA
- 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
NumPy
MatplotLib
Programmazione ad oggetti
Classi ed istanze
Ereditarietà e polimorfismo
Strutture dati
Array, liste e alberi
Grafi
Alberi binari di ricerca
Heap e code di priorità
Algoritmi, modelli di calcolo e metodologie di analisi
Introduzione informale agli algoritmi
Notazione asintotica
Ricorrenze
Tecniche fondamentali per il progetto di algoritmi
Tecnica divide et impera
Programmazione dinamica
Algoritmi golosi
Verifica del codice
Analisi statica
Testi di riferimento
"A Primer on Scientific Programming with Python" -- H. P. Langtangen, 5th Edition, 2016, Springer, ISBN: 3662570467
"Introduction to algorithms (3rd Edition)" -- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, MIT Press, 2009
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 è 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
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
Ogni esercizio viene valutato sulla correttezza del codice prodotto e sulla corretta implementazione dei requisiti dell'esercizio.
Metodi didattici
Esercitazioni: lavoro di gruppo (peer-teaching, problem solving)