ALGORITMICA
Settore: INF/01 | Codice: 429AA | Crediti: 6 | Semestre: 2 |
Docenti: Romani Francesco |
Obiettivi di apprendimento
ConoscenzeConoscenza degli algoritmi di base dell'informatica e delle necessarie nozioni di matematica elementare
Modalità di verifica delle conoscenzeEsercitazioni alla lavagna, esame finale scritto e orale
CapacitàSaper scrivere e discutere semplici programmi Python
Modalità di verifica delle capacitàEsercitazioni alla lavagna, esame finale
ComportamentiProprietà di linguaggio e comprensione della terminologia matematica.
Modalità di verifica dei comportamentiEsercitazioni alla lavagna, esame finale
Prerequisiti
Conoscenza elementare del linguaggio Python.
Basi elementari di matematica e logica fornite dalla scuola superiore.
Indicazioni metodologiche
Vengono affiancate lezioni teoriche, pause di riflessione (domande) e attività pratiche (suggerite o svolte in classe). Ulteriori esercitazioni pratiche devono essere svolte a casa.
Programma
- Comunicazione, linguaggio e linguaggi.
- Algoritmi e calcolabilità.
- Introduzione alla complessità computazionale concreta.
- Tecniche di programmazione ricorsiva.
- Algoritmi di ricerca.
- Algoritmi di ordinamento.
- Ricerca in grafi finiti e infiniti.
- Non determinismo, problemi P e NP.
- Elaborazione di stringhe.
- Teoria dell'informazione e codici.
Bibliografia
Testo del corso
- F. Romani, Elementi di Algoritmica con esempi in Phyton. Pisa University Press, 2017
Il testo è disponibile presso le principali librerie di Pisa.
Testi di Approfondimento
- F. Luccio, La struttura degli algoritmi. Boringhieri, 1982 (esaurito)
- P. Crescenzi, G. Gambosi, R. Grossi, G. Rossi, Strutture di dati e algoritmi. Pearson 2012
- T. Cormen, C. Leiserson, R.I. Rivest, C. Stein, Introduzione agli algoritmi e strutture dati MIT Press, 1990
Non frequentanti
Non vi sono differenze di programma né di modalità di esame.
Modalità di esame
Scritto e orale
Pagina del corso
http://pages.di.unipi.it/romani/DIDATTICA/ALG/ALG.htmlFonte: ESSETRE e Portale esami