FONDAMENTI DI INFORMATICA A - L

Anno accademico 2016/2017 - 1° anno
Docente: Orazio MIRABELLA
Crediti: 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:

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

 *ArgomentiRiferimenti 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 TipoA. 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 FileA. 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, 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

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.