Programma di Fondamenti di Informatica e Laboratorio
Corso di Laurea in Ingegneria Informatica I Livello (509/99 Ordinamento 2003)
Prof.S.Cavalieri
Struttura di un Elaboratore. Memoria centrale, CPU, Memorie di Massa, Controller, Dispositivi di Ingresso-Uscita,
Interfacce, BIOS, Chipset. Funzionamento elementare dell'elaboratore: fasi di fetch e di execute.
Rappresentazione dell'Informazione. Codifica degli Interi (Modulo e Segno, Complemento a 2),
Codifica dei Reali (Virgola Fissa e Mobile), Codifica dei Caratteri (Codici ASCII e ANSI).
Algoritmi di conversione. Aritmetica intera e in virgola mobile.
Introduzione alla Programmazione. Elaborazione automatica dell'informazione.
Algoritmi e programmi. Proprietà di un algoritmo.
Esercitazioni sullo sviluppo di semplici algoritmi.
Software di Base. Traduzione ed esecuzione di programmi.
Compilatori ed interpreti. Sistema Operativo. Ambiente di Programmazione
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.
Complessita’ Computazionale: Efficienza dei Programmi, le Notazioni
O e W , Valutazione della Complessita’ di un
Programma, Relazioni di Ricorrenza.
Tipi di Dato Astratto: Liste, Pile, Code, Alberi.
Algoritmi di Ordinamento: Bubble Sort, Insert Sort, Select Sort,
Quick Sort. Valutazione della Complessita' Computazionale
degli Algoritmi di Ordinamento.
Testi Consigliati:
Alessandro Bellini, Andrea Guidi, "Linguaggio C - Guida alla Programmazione", Mc.Graw-Hill
Brian W.Kernighan, Dennis M.Ritchie,"Linguaggio C", Pearson Education.