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.
Non è richiesto alcun prerequisito
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.
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.
1. A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill,
http://netlab.diit.unict.it
| * | 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, |
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.
Durante l'anno verranno svolte due prove in itinere. La prima, a risposte multiple sarà relativa ai concetti base dell'informatica, alle operazioni con numeri binari e sulla sintassi del linguaggio.
La seconda prova in itinere sarà relativa alla realizzazione di un programma . in linguaggio C, su array o liste a puntatori.
Il superamento di entrambe le prove in itinere può sostituire l'esame di fine corso.
La prova finale consiste nella realizzazione di un programma in linguaggio C e un esame orale facoltativo su richiesta dello studente per integrare la valutazione della prova scritta.
1- Funzioni del kernel del S.O.
2- Sintassi del ciclo FOR
3- Array
4- Liste a puntatori.