Corso di Laurea in Informatica Umanistica A.A. 2015/16
II semestre
ALGORITMICA (6 CFU)
Docente
Francesco Romani
Home
http://www.di.unipi.it/~romani
Email
romani@di.unipi.it
Orario
Lunedì 10.15-11.45 Aula F
Mercoledì 14.15-15.45 Aula F
Lunedì 14.15-15.45 Aula G (Esercitazioni Phyton)
 
Presentazione
Il corso tratta in modo elementare dei Fondamenti della Teoria degli algoritmi.
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.
L'esame consiste in uno scritto e in un successivo orale
Bibliografia
Testo del corso
F. Romani,
Elementi di Algoritmica con esempi in Phyton.
Pisa University Press, 2015
Il testo è disponibile presso le principali librerie di Pisa.
Materiale didattico predisposto dal Dott. Marino
Libro interattivo usato a lezione per imparare Python
.
Il libro originale si chiama
How to Think Like a Computer Scientist
.
Libro interattivo per imparare Algoritmi e Strutture Dati usando Python
.
Il libro originale si chiama
Problem Solving with Algorithms and Data Structures
.
I libri interattivi sono una risorsa di
Runestone Interactive
.
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
Lucidi sulla Macchina di Turing
Implementazione di alberi in Python