Fondamenti di Informatica I Presentazione del corso Docenti • Monica Bianchini Dipartimento di Ingegneria dell’Informazione E–mail: [email protected] Telefono: 0577 234718 Cellulare: 320 4355875 Ricevimento: Lunedì 14.3016 o per appuntamento via email • Stefano Melacci E–mail: [email protected] Telefono: 0577 234515 Fondamenti di Informatica I a.a. 2008-09 1 Programma del corso 1 L’algebra di Boole; i sistemi di numerazione; rappresentazione dei dati e l’aritmetica degli elaboratori la La struttura del calcolatore Analisi e programmazione; algoritmi e loro proprietà; i linguaggi per la formalizzazione di algoritmi: diagrammi a blocchi e pseudocodifica Introduzione alla programmazione; i linguaggi programmazione di alto livello: il linguaggio C di I fondamenti del linguaggio C lo sviluppo dei programmi, la compilazione dei file sorgente, il link ed il caricamento in memoria principale, la libreria di runtime, l’impaginazione dei file sorgente, il preprocessore Fondamenti di Informatica I a.a. 2008-09 2 Programma del corso 2 Il linguaggio C tipi di dati scalari, controllo di flusso, operatori ed espressioni, array e puntatori, classi di memorizzazione, strutture ed unioni, funzioni, direttive del preprocessore, input e output La complessità: complessità in tempo e spazio, complessità asintotica; algoritmi e complessità: ricerca e ordinamento; la macchina di Turing e le classi di complessità Esercitazioni frontali e in laboratorio (2 ore settimanali) sugli argomenti sviluppati nel corso Fondamenti di Informatica I a.a. 2008-09 3 Testi 1 Testi di riferimento • A. V. Aho e J. D. Ullman, Fondamenti di Informatica, Zanichelli, 1994 • P. A. Darnell e P. E. Margolis, C Manuale di Programmazione (Linguaggio e Tecniche di Ingegnerizzazione del Software), McGraw-Hill In alternativa, uno qualsiasi fra… • • • • • • A. Bellini e A. Guidi, Linguaggio C Guida alla programmazione H. Schildt, C La Guida completa McGraw-Hill S. Ceri, D. Mandrioli, L. Sbattella, Informatica: programmazione P. Demichelis, E. Piccolo, Introduzione all'informatica in C H. M. Deitel, P. J. Deitel, C Corso completo di Programmazione, Apogeo A. Kelley, I. Pohl, C Didattica e Programmazione, Pearson/Addison Wesley Fondamenti di Informatica I a.a. 2008-09 } 4 Testi 2 Testi di consultazione • A. C. Batini, L. Carlucci Aiello, M. Lenzerini, A. Marchetti Spaccamela, A. Miola, Fondamenti di programmazione dei calcolatori elettronici, Franco Angeli, 1991 • F. Cesarini, F. Pippolini e G. Soda, Elementi di Informatica, Firenze: Edizioni Cremonese, 1993 • B. W. Kernighan e D. M. Ritchie, The C Programming Language (2nd edition, ANSI C), Prentice Hall Press, 1988 Fondamenti di Informatica I a.a. 2008-09 5 La relazione non ha una lunghezza predefinita Deve contenere: Esami • la descrizione del problema Modalità esame generale di come è stato risolto • ladidescrizione • per ogni funzione del codice: una breve descrizione del • Prova scritta compito svolto(13.02 dal sottoprogramma e del significato dei 2 prove in itinere ed alla fine del corso) parametri Altrimenti, scritto relativo al programma completo • Prova pratica Elaborato in linguaggio C, con relazione allegata descrittiva del software sviluppato Possibilità di lavoro in gruppi (al più tre persone) Consegna dell’elaborato due giorni lavorativi prima della prova orale (sabato, domenica e festivi non contano!) • Prova orale Fondamenti di Informatica I a.a. 2008-09 6