FONDAMENTI DI INFORMATICA A - L
Anno accademico 2016/2017 - 1° annoCrediti: 9
SSD: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Organizzazione didattica: 225 ore d'impegno totale, 183 di studio individuale, 42 di lezione frontale
Semestre: 2°
Obiettivi formativi
Il corso ha la finalità di fornire conoscenze inerenti l’architettura dei calcolatori, i sistemi operativi gli algoritmi ed i linguaggi di programmazione. Verrà studiato in modo approfondito il linguaggio “C” e verranno affrontati diversi problemi risolvibili con un approccio algoritmico.
Prerequisiti richiesti
Non è richiesto alcun prerequisito
Frequenza lezioni
Le lezioni, in numero di tre per settimana, debbono essere seguite assiduamente. Durante l'anno verranno effettuate frequenti esercitazioni che sono essenziali per acquisire dimestichezza col linguaggio di programmazione adottato.
Contenuti del corso
1. Architettura Hw e SW del computer, Processore, Funzionamento elementare della CPU: fasi di fetch e di execute. memorie e porte di I/O. 2. Aritmetica del calcolatore Sistema di numerazione binario, conversioni di numeri da decimale a binario, operazioni coi numeri binari. 3. Sistemi operativi: Ruolo del S.O. Architettura a livelli, Kernel, Processi, Gestore della memoria, Gestore delle periferiche, File system. Ambiente di programmazione, Traduzione ed esecuzione di programmi, Compilatori vs Interpreti. 4. Algoritmi: Introduzione alla Programmazione. Elaborazione automatica dell'informazione. Algoritmi e programmi. Proprietà di un algoritmo. Esercitazioni sullo sviluppo di semplici algoritmi. 5. Il linguaggio di Programmazione "C". Sintassi e Semantica. Espressioni ed Operatori: Valutazione di Espressioni, Operatori Aritmetici, Relazionali e Logici, Assegnazione, Incremento e Decremento, Conversione di Tipo. Strutture di controllo: if-else, switch, while, do-while, for, break, return. Tipi di dato in C: tipi semplici (int, char, float, double) e strutturati (array e stringhe, strutture). Il tipo puntatore. Il tipo File. Astrazioni funzionali: funzioni. Dichiarazioni e campo d'azione degli identificatori. Tecniche di legame dei parametri: parametri formali valore e variabili. Ricorsione. Allocazione dinamica della memoria. 6. Tipi di Dato Astratto: Liste. 7 Cenni su Algoritmi di Ordinamento.
Testi di riferimento
1. A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill,
Programmazione del corso
* | Argomenti | Riferimenti testi | |
---|---|---|---|
1 | * | . Architettura Hw e SW del computer, Processore, Funzionamento elementare della CPU: fasi di fetch e di execute. memorie e porte di I/O. | 1. A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
2 | * | Aritmetica del calcolatore Sistema di numerazione binario, conversioni di numeri da decimale a binario, operazioni coi numeri binari. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
3 | * | Sistemi operativi: Ruolo del S.O. Architettura a livelli, Kernel, Processi, Gestore della memoria, Gestore delle periferiche, File system. Ambiente di programmazione, Traduzione ed esecuzione di programmi, Compilatori vs Interpreti. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
4 | * | Algoritmi: Introduzione alla Programmazione. Elaborazione automatica dell'informazione. Algoritmi e programmi. Proprietà di un algoritmo. Esercitazioni sullo sviluppo di semplici algoritmi. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
5 | * | Il linguaggio di Programmazione "C". Sintassi e Semantica. Espressioni ed Operatori: Valutazione di Espressioni, Operatori Aritmetici, Relazionali e Logici, Assegnazione, Incremento e Decremento, Conversione di Tipo | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
6 | * | Strutture di controllo: if-else, switch, while, do-while, for, break, return. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
7 | * | Tipi di dato in C: tipi semplici (int, char, float, double) e strutturati (array e stringhe, strutture). Il tipo puntatore. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
8 | Il tipo File | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, | |
9 | * | . Astrazioni funzionali: funzioni. Dichiarazioni e campo d'azione degli identificatori. Tecniche di legame dei parametri: parametri formali valore e variabili. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
10 | Ricorsione. Allocazione dinamica della memoria. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, | |
11 | * | . Tipi di Dato Astratto: Liste. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
12 | Cenni su Algoritmi di Ordinamento. | A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill, |
N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L'esame consiste di una prova scritta obbligatoria e di un esame orale facoltativo su richiesta dello studente per integrare la valutazione della prova scritta.
Esempi di domande e/o esercizi frequenti
1- Funzioni del kernel del S.O.
2- Sintassi del ciclo FOR
3- Array
4- Liste a puntatori.