Questa è una vecchia versione del documento!
−Indice
Programmazione e Algortimica - Corso A
Anno accademico 2020/2021
IMPORTANTE
Durante il primo semestre, tutte le lezioni si svolgeranno telematicamente nelle ore indicate in orario, alla seguente URL (dedicata al Corso A):
TBD.
Istruzioni generali sull'accesso telematico:
Il ricevimento studenti sarà fatto via mail, oppure telematicamente su appuntamento.
Informazioni generali
Docenti Teoria/Esercitazioni: Linda Pagli e Giuseppe Prencipe (corso A)
Impegno: 15 CFU. Il corso consiste ogni settimana di lezioni di didattica frontale in aula; circa il 25% di queste saranno dedicate a esercitazioni e a prove di autovalutazione.
Semestri: primo e secondo (l'insegnamento è annuale)
Ricevimento studenti: Pagli: su appuntamento, scrivere a linda.pagli@unipi.it
Ricevimento studenti Prencipe: su appuntamento
Registro delle lezioni: si tratta del registro ufficiale che riporta quanto indicato nel seguito.
Anni accademici precedenti
L'anno accademico 2020/2021 è il primo anno in cui viene erogato questo insegnamento.
Orario Lezioni
Orario delle Lezioni | |||
---|---|---|---|
Lunedì | 9-11 | Teoria/Esercitazione | |
Martedì | 9-11 | Teoria/Esercitazione | |
Mercoledì | 9-11 | Teoria/Esercitazione |
Obiettivi del Corso
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).
Modalità e Appelli di Esame
Registrazioni delle Lezioni
Libri di testo
- [CLRS] T. Cormen, C. Leiserson, R. Rivest, C. Stein. Introduzione agli algoritmi e strutture dati. McGraw-Hill, Terza edizione, 2010.
- [DFI] C. Demetrescu, I. Finocchi, G. Italiano. Algoritmi e strutture dati. McGraw-Hill, Seconda edizione, 2008. Solo pagine 161-165.
- [FL] P. Ferragina, F. Luccio. Il Pensiero Computazionale: dagli algoritmi al coding. Il Mulino, 2017. Solo pagine 64-65, Capitolo 7 e Capitolo 10.
Programma del corso
- 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.
- Blocco e struttura dei programmi. Funzioni, passaggio dei parametri. Ricorsione,
- Algoritmi per ordinamento e ricerca.
- Strutture di dati dinamiche. Liste. Code e pile. Tabelle hash e dizionari.
- Divide et impera, programmazione dinamica, algoritmi greedy.
- Algoritmi per alberi e grafi.
- Cenni di calcolabilità e di classi di complessità.
Registro delle Lezioni
Data | Argomento | Rif. Biblio |
---|