PROGRAMMA DEL CORSO

Parte A: Introduzione ai sistemi informatici

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 (solo per il programma dell’a.a. 2006/2007): 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.

 

Parte B: Introduzione alla programmazione.

Concetti introduttivi. Linguaggi ad alto livello, metodologie di programmazione, programmazione procedurale e suoi limiti, introduzione alla programmazione ad oggetti. Principi della programmazione ad oggetti: incapsulamento, occultamento di informazione e implementazione, conservazione dello stato, identità degli oggetti, messaggi, classi, ereditarietà, polimorfismo.

Il linguaggio Java. Implementazione dei principi della programmazione ad oggetti nel linguaggio Java. Le librerie Java (GUI, contenitori, eventi).

Esercitazioni di programmazione. Uso dell'ambiente di sviluppo SDK 1.5 e dell'IDE JCreator. Progetto e realizzazione in Java di piccole applicazioni di esempio.

Introduzione a MATLAB (solo per il programma dell’a.a. 2006/2007): comandi e variabili, definizioni di matrici (con elenco esplicito, con funzioni predefinite, per blocchi, per intervalli), accesso agli elementi di una matrice, operazioni comuni, funzioni matematiche, funzioni di arrotondamento; disegnare funzioni; creare script; controllo del flusso di esecuzione (operatori logici, operatori di confronto, if, while, for).

 

TESTI DI RIFERIMENTO

 

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

H.M. Deitel, P.J. Deitel Java, Fondamenti di Programmazione, Terza edizione, ottobre 2005, Apogeo.

 

ALTO MATERIALE DI RIFERIMENTO

 

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

S. Cicerone. Introduzione alla programmazione in Java (fotocopie disponibili in pdf).

G. Miscione. Introduzione all’uso di MATLAB (fotocopie disponibili in pdf).