INFORMATICA I - MOD. 2

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
COMPUTER SCIENCE I - MOD. 2
Codice insegnamento
CT0569 (AF:510104 AR:288110)
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
L’insegnamento è una delle attività formative obbligatorie del Corso di Laurea in Ingegneria Fisica, e
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.
Conoscenza e comprensione:
- 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
Elementi di base di logica. Nozioni elementari della programmazione. Conoscenza di base del linguaggio Python.
Librerie generiche per la programmazione scientifica
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
"Think Python" -- Allen B. Downey, 2nd Edition, December 2015, O'Reilly Media, Inc. ISBN: 9781491939369
"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
Il raggiungimento degli obiettivi dell'insegnamento viene valutato attraverso la partecipazione alle attività e alle esercitazioni assegnate durante il corso e un esame finale scritto.

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.
Seminari: limitate lezioni frontali, lavoro di gruppo (peer-teaching, problem solving)
Esercitazioni: lavoro di gruppo (peer-teaching, problem solving)
Italiano
scritto
Programma definitivo.
Data ultima modifica programma: 05/03/2024