FONDAMENTI DI INFORMATICA A - L

Anno accademico 2015/2016 - 1° anno
Docente: Orazio MIRABELLA
Crediti: 9
SSD: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Modalità di erogazione: Tradizionale
Organizzazione didattica: 225 ore d'impegno totale, 171 di studio individuale, 54 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.

The lessons , three per week , must be followed assiduously . During the year frequent exercises, that are essential to become familiar with the programming language, will be carried out.


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,