L'insegnamento introduce le principali strategie di progettazione di algoritmi e gli strumenti per valutarne la correttezza e le prestazioni. L'obiettivo è lo sviluppo della capacità di formalizzare e risolvere problemi per via algoritmica e della capacità di analisi e valutazione delle soluzioni. Sono inoltre sviluppati i concetti relativi alla logica proposizionale e induzione e i principali modelli di computazione per l'informatica: automi, grammatiche, macchine di Turing.
La frequenza e la partecipazione attiva alle attività formative proposte (lezioni frontali ed esercitazioni) e lo studio individuale consentiranno allo studente di:
- Comprendere le basi teoriche dell'informatica intesa come trattamento automatico di linguaggi formali a partire dai modelli computazionali più semplici quali gli automi a stati finiti, fino a quelli più complessi come la macchina di Turing.
- Comprendere la relazione tra modelli computazionali e linguaggi formali e stabilire una corrispondenza tra tipologia di linguaggio e corrispondente potenza richiesta al modello computazionale.
- Comprendere le problematiche principali relative allo sviluppo di algoritmi, sia relative alla correttezza sia relative alle prestazioni; comoprendere i modelli semplificati per la stima delle risorse.
- Conoscere i principali algoritmi e strutture dati di utilizzo comune: le loro origini, la loro struttura e le loro prestazioni in termini di consumo di risorse computazionali.
Il corso si articola prevalentemente in lezioni di natura frontale il cui materiale verrà messo in anticipo a disposizione degli studenti su Aulaweb. Per ogni argomento verranno forniti i riferimenti corrispondenti ai libri di testo riportati in bibliografia.
La parte di informatica teorica è tratta dal testo:
La parte di progettazione e analisi di algoritmi è tratta dai testi:
Altri libri di testo
La strutturazione delle lezioni frontali ricalca il seguente testo:
Dai seguenti testi sono stati tratti alcuni dei contenuti di progettazione e analisi degli algoritmi:
Nota bene: non è necessario acquistare i libri di testo per raggiungere una preparazione soddisfacente per superare l'esame. Qualora si desiderasse consultare i testi e non fossero disponibili in biblioteca, si prega di rivolgersi al docente.
Ricevimento: Per Robotics Engineering: L'insegnamento è erogato integralmente in lingua Inglese. Per tutte le informazioni relative, si veda la corrispondente sezione in lingua Inglese. Per tutti gli altri corsi: contattare il docente all'indirizzo armando.tacchella@unige.it e consultare la pagina Aulaweb del corso
ARMANDO TACCHELLA (Presidente)
Si veda il calendario accademico: INGEGNERIA INFORMATICA 8719 | Orario e calendario accademico | UniGe | Università di Genova | Corsi di Studio UniGe
L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy