CdSINFORMATICA UMANISTICA
Codice429AA
CFU6
PeriodoSecondo semestre
LinguaItaliano
Moduli | Settore/i | Tipo | Ore | Docente/i | |
ALGORITMICA | INF/01 | LEZIONI | 42 |
|
Conoscenza degli algoritmi di base dell'informatica e delle necessarie nozioni di matematica elementare
At the end of the course, the students are expected to be able to design basic algorithms using a pseudo-code and to prove their correctness.
Esercitazioni alla lavagna, esame finale scritto e orale
- In the written exam (2 hours), the student must demonstrate his/her ability to design correct and efficient algorithms and to analyze their complexity. The student should also answer to theoretical questions.
Methods:
- Final oral exam
- Final written exam
Further information:
Final written exam 50% Final oral exam 50%
Saper scrivere e discutere semplici programmi Python
Elementary Python programming practice
Esercitazioni alla lavagna, esame finale
- Final oral exam
- Final written exam
Proprietà di linguaggio e comprensione della terminologia matematica.
Capability to speak and write about technical arguments in a correct italian language.
Esercitazioni alla lavagna, esame finale
- Final oral exam
- Final written exam
Conoscenza elementare del linguaggio Python.
Basi elementari di matematica e logica fornite dalla scuola superiore.
Python languages basis.
Basic calculus and logic notions
Vengono affiancate lezioni teoriche, pause di riflessione (domande) e attività pratiche (suggerite o svolte in classe). Ulteriori esercitazioni pratiche devono essere svolte a casa.
Delivery: face to face
Learning activities:
- attending lectures
- preparation of oral/written report
- individual study
Attendance: Advised
Teaching methods:
- Lectures
- 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.
The goal is to introduce (basic) algorithms and data structures to solve problems on sequences, arrays and trees in efficient time and/or space. We will also deal with techniques for evaluating the complexity of algorithms and problems.
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
F. Romani, Elementi di Algoritmica con esempi in Phyton. Pisa University Press, 2017
- 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 vi sono differenze di programma né di modalità di esame.
The program and the exam are the same.
Scritto e orale
- Final oral exam
- Final written exam