Indice

Programmazione e Algoritmica - Corso B

PER QUESTO CORSO FARE RIFERIMENTO ALLA PAGINA GOOGLE-CLASSROOM

Anno accademico 2020/2021

Docenti: Nadia Pisanti, Anna Bernasconi

Impegno: 15 CFU.

Semestre: Corso Annuale.

Sospensione della Didattica in presenza

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:

http://unipi.it/corsionline

Il ricevimento studenti sarà fatto telematicamente su appuntamento, mandando una mail alla docente.

Orario Lezioni

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

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).

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.
* 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à.

Modalità e Appelli di Esame

Per sostenere l'esame è necessario registrarsi: registrarsi qui

Libri di testo

[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.

Programma del corso