Docente
|
LOMBARDI FLAVIO
(programma)
INTRODUZIONE AI DIVERSI ASPETTI DELLO STUDIO DELL'INFORMATICA; IL CONCETTO DI ALGORITMO; IL CALCOLATORE; SISTEMI DI ELABORAZIONE; HARDWARE; RETI DI CALCOLATORI; SOFTWARE; LINGUAGGI DI PROGRAMMAZIONE. ARCHITETTURA DI UN CALCOLATORE, MODELLO DI VON NEUMANN; MEMORIA, CPU, BUS, INTERFACCE. IL MODELLO DELLA MACCHINA DI TURING. RAPPRESENTAZIONE DELLE INFORMAZIONI SU DI UN CALCOLATORE. CENNI SUI SISTEMI OPERATIVI E SUL SISTEMA OPERATIVO UNIX/LINUX. ALGORITMI E LORO PROPRIETÀ; I LINGUAGGI PER LA FORMALIZZAZIONE DI ALGORITMI: DIAGRAMMI DI FLUSSO E PSEUDO-CODIFICA. INTRODUZIONE ALLA PROGRAMMAZIONE, LINGUAGGI DI PROGRAMMAZIONE DI ALTO LIVELLO. PROGRAMMAZIONE STRUTTURATA. LINGUAGGIO C: TIPI DI DATO, OPERATORI ED ESPRESSIONI, STRUTTURE DI CONTROLLO, ARRAY E PUNTATORI, STRUTTURE, LISTE, ALLOCAZIONE DINAMICA DELLA MEMORIA, FUNZIONI, FUNZIONI RICORSIVE, LE DIRETTIVE DEL PREPROCESSORE, INPUT E OUTPUT. ALGORITMI DI ORDINAMENTO; STRUTTURE DATI COMPLESSE, HEAP, LISTE, ALBERI, GRAFI; ALGORITMI ELEMENTARI SU GRAFI, VISITA DI GRAFI, CAMMINI OTTIMI SU GRAFI. CENNI SULLA COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI; CENNI SULLA CALCOLABILITÀ: PROBLEMI TRATTABILI, INTRATTABILI, LA CLASSE P, NP, NP-C.
(testi)
T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, C. STEIN, INTRODUZIONE AGLI ALGORITMI E STRUTTURE DATI, SECONDA EDIZIONE, MCGRAW-HILL, 2005. A. BELLINI, A. GUIDI, LINGUAGGIO C, QUARTA EDIZIONE, MCGRAW-HILL, 2009. M. LIVERANI, PROGRAMMARE IN C, ESCULAPIO ? PROGETTO LEONARDO, BOLOGNA, 2000.
T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, C. STEIN, INTRODUCTION TO ALGORITHMS, THIRD EDITION, MCGRAW-HILL, 2005. A. BELLINI, A. GUIDI, LINGUAGGIO C, QUARTA EDIZIONE, MCGRAW-HILL, 2009.
|