Programma
Nuova ricerca
Stampa scheda
Fondamenti di Informatica (INF)
Fundamentals of Computer Science Aldo Franco Dragoni
Sede
Ingegneria
A.A.
2015/2016
Crediti
9
Ore
72
Periodo
II
Lingua
ITA
Prerequisiti
Nessuno
Risultati di apprendimento attesi
L'insegnamento mira a dare le basi dell'Informatica. Esso si pone tre obiettivi: 1. spiegare in cosa consista la codifica digitale dell'informazione (testi, suoni, immagini e filmati) 2. illustrare l'architettura basilare di un qualunque elaboratore digitale 3. spiegare come si elabora questa informazione digitale, cioè fornire i rudimenti della programmazione di un elaboratore (utilizzando Assembply e C++).
Programma
Codifica binaria dei testi: ASCII, ISO_8859/1-15, UNICODE, UTF-8. Codifica binaria dei suoni, delle immagini e dei video. Codifica dei numeri Naturali, Interi e Reali. Principali operazioni aritmetiche. Architettura di Von Neumann. Architettura funzionale di un microprocessore (IA-32). Memorie di Massa. Programmazione in Assembly: operandi, istruzioni, direttive dati, etichette, sottoprogrammi, Stack, call e ret, programmazione modulare, I/O, compilazione. Evoluzione dei Linguaggi Imperativi e Programmazione strutturata. Software, copyright e copyleft. Tipi di dato fondamentali. Conversioni di tipo. Funzioni di libreria. Assegnamento. Operatori aritmetici, logici e relazionali. Il concetto di I/O-stream e file-stream. Istruzioni condizionali. Istruzioni ripetitive. Istruzioni di salto. Teorema di Bohm-Jacopini. Il concetto di funzione. Funzioni ricorsive. Puntatori e riferimenti. Passaggio argomenti per valore e per riferimento. Array. Stringhe. Array come argomenti di funzioni. Il tipo struct. Memoria dinamica: new e delete. Liste semplici e principali operazioni con le liste. Alberi. Nozioni basilari di Programmazione Orientata agli Oggetti.
Modalità di svolgimento dell'esame
METODI DI VALUTAZIONE DELL'APPRENDIMENTOL'esame si svolge in due prove: una prova di programmazione in C++ ed una prova scritta con domande sui fondamenti dell'informatica e piccoli problemi di debugging di algoritmi, sempre in C++
CRITERI DI VALUTAZIONE DELL'APPRENDIMENTOLa valutazione verte sulla pratica: lo studente deve dimostrare di saper programmare in C++ secondo i principi della programmazione strutturata. La conoscenza dei principi della digitalizzazione delle informazioni serve come valutazione complementare.
CRITERI DI MISURAZIONE DELL'APPRENDIMENTONormalmente la prova di programmazione vale 18/30 e quella di teoria vale 12/30.
CRITERI DI ATTRIBUZIONE DEL VOTO FINALEper la valutazione finale si sommano i voti riportati nelle due prove
Testi consigliati
Luis Joyanes Aguilar, Fondamenti di programmazione in C++, The McGraw-Hill Companies.
John R. Hubbard, Programmare in C++, seconda edizione, (470 esercizi svolti), The McGraw-Hill Companies.
Corsi di laurea
- Ingegneria Informatica e dell'Automazione (Corso di Laurea Triennale (DM 270/04))