PER QUESTO CORSO FARE RIFERIMENTO ALLA PAGINA GOOGLE-CLASSROOM
La didattica frontale di questo Corso di Studi e' sospesa fino a gennaio 2021. Di conseguenza:
Durante il primo semestre, tutte le lezioni si svolgeranno telematicamente nelle ore indicate in orario, in questa AULA VIRTUALE (dedicata al Corso B).
Istruzioni generali sull'accesso telematico:
Il ricevimento studenti sarà fatto telematicamente su appuntamento, mandando una mail alla docente.
Orario delle Lezioni | ||
---|---|---|
Lunedì | 9-11 | AULA VIRTUALE |
Martedì (Nel primo semestre lo slot del Martedì verra' usato solo occasionalmente) | 9-11 | AULA VIRTUALE |
Mercoledì | 9-11 | AULA VIRTUALE |
L’insegnamento introduce lo studente ai principi, agli strumenti e alle tecniche della programmazione di applicazioni informatiche, acquisendo la capacità di risolvere problemi computazionali. Le tecniche di base per calcolare il costo computazionale degli algoritmi permettono di progettare e implementare soluzioni efficienti ai problemi computazionali, qualora possibile: la difficoltà computazionale di alcuni problemi viene illustrata attraverso la discussione di alcune classi fondamentali (P vs NP).
* Struttura di un calcolatore e ambienti di sviluppo.
* Analisi asintotica del costo computazionale.
* Rappresentazione delle informazioni.
* Problemi computazionali e algoritmi di risoluzione.
* Controllo delle operazioni e del flusso all’interno di un programma.
* Problem solving su array.
* Algoritmi per ordinamento e ricerca.
* Strutture di dati dinamiche. Liste. Code e pile.
* Tabelle hash e dizionari.
* Blocco e struttura dei programmi. Funzioni, passaggio dei parametri.
* Ricorsione, divide et impera, programmazione dinamica, algoritmi greedy.
* Algoritmi per alberi e grafi.
* Cenni di calcolabilità e di classi di complessità.
Per sostenere l'esame è necessario registrarsi: registrarsi qui
[CLRS] T. Cormen, C. Leiserson, R. Rivest, C. Stein. Introduzione agli algoritmi e strutture dati. McGraw-Hill, Terza edizione, 2010.
[Plotkin] G.Plotkin. A Structural Approach to Operational Semantics, 1981.