PROGRAMMA DEL CORSO

Codifica dell'informazione. Numeri senza segno e con segno. L'aritmetica degli interi. Numeri reali, caratteri. La rappresentazione esadecimale. La rappresentazione dei dati multimediali: immagini raster e vettoriali, dati audio e video, tecniche di compressione, formati.

Infrastrutture hardware/software. La macchina di Von Neumann. La CPU: unità di calcolo, cenni all'unità di controllo, l'esecuzione delle istruzioni, i registri speciali. Il sistema di memoria gerarchico: principi ed obiettivi, componenti (registri, cache, memoria principale, memorie magnetiche, memorie ottiche), caratteristiche, modalità di accesso, prestazioni, aspetti tecnologici. I collegamenti tra i sottosistemi: bus, interfacce con le periferiche. Cenni al sistema operativo. Interpreti e compilatori. Le reti: classificazione, componenti, mezzi di trasmissione, topologie, modalità di accesso al canale, politiche di condivisione, modem, organizzazione e protocolli per la rete Internet.

Strumenti per l'utente finale. Il foglio elettronico: componenti, riferimenti alle celle, espressioni, valutazioni what-if e simulazioni, grafica analitica. Sistemi per la gestione delle basi di dati (DBMS): architettura di un DBMS, il modello entità-relazione, il modello relazionale, vincoli intra-relazionali e inter-relazionali, elementi di progettazione di una base di dati, il linguaggio SQL (definizione e manipolazione dei dati, interrogazione), query con operatori aggregati, il join.

Elementi di programmazione. Il concetto di algoritmo. Il linguaggio dei diagrammi di flusso. Il ciclo di vita del software. Il linguaggio C: variabili, costanti, tipi predefiniti e user-defined. Istruzioni di assegnamento. Istruzioni di I/O. Istruzioni condizionali (if, switch-case) e iterative (for, while, do-while). Array e strutture. Puntatori. Sottoprogrammi e passaggio dei parametri. Direttive per il compilatore. Il progetto su più file. Algoritmi fondamentali.

 

TESTI DI RIFERIMENTO

 

D. Sciuto, G. Buonanno, W.Fornaciari, L. Mari. Introduzione ai sistemi informatici. Seconda edizione, McGraw-Hill

B.W. Kernighan, D.M. Ritchie, Linguaggio C, Jackson.

 

ALTO MATERIALE DI RIFERIMENTO

 

L.Tarantino, Introduzione ai sistemi informatici (fotocopie disponibili in copisteria).

D. Guetti. Elementi di programmazione in linguaggio C (fotocopie disponibili in copisteria).