Obiettivi formativi
Il corso fornisce i concetti fondamentali dell’informatica, illustrando il funzionamento dei calcolatori elettronici e delle applicazioni software di ultima generazione, in particolare quelle orientate a Internet.
Contenuti dell'insegnamento
Concetti fondamentali dell’informatica: informazione, visione ad alto livello del sistema di elaborazione; informatica, modelli, livelli di astrazione.
Elaborazione dell'informazione: sistemi di numerazione, rappresentazione binaria di numeri; rappresentazione binaria di testo, immagini, suoni; algebra booleana.
Calcolatori: livello logico, livello RTL, cpu; stack, interrupt, set di istruzioni Assembly, CISC vs RISC, gerarchie di memoria; memorie di massa, sistema di I/O.
Sistemi distribuiti e Internet: classificazione di Enslow, reti LAN, reti WAN, Internet; stack TCP/IP; sistemi informativi, concetti fondamentali sulle basi di dati; applicazioni Web: dai motori di ricerca ai social network.
Algoritmi e Strutture Dati: definizione di algoritmo, pseudocodice, diagrammi di flusso; strutture dati; tecniche di progettazione degli algoritmi; algoritmi di ordinamento.
Programmazione: linguaggi di programmazione; programmazione strutturata; programmazione a oggetti.
Ingegneria del software: qualità del software, ciclo di vita del software, UML.
Bibliografia
G. M. Schneider, J. L. Gersting, “Informatica”, Ed. Apogeo, 2007.