Fondamenti di Informatica
Corso di Laurea in Ingegneria Meccanica / Ingegneria Civile
Modalità d'esame: prova scritta sull'intero programma. La prova si compone di due parti:
- Una prima parte a domande chiuse.
- Seconda parte (facoltativa) con domande aperte.
Il superamento della prima parte dà diritto ad un punteggio fino a 22/30 e dà accesso alla seconda parte, con la quale si può incrementare il punteggio fino a 30/30 e L.
Nota: sono ammessi all'esame solo gli studenti regolarmente iscritti su Esse3.
Modalità dettagliate.
Testo:
- Dispensa (disponibile su Moodle)
Programma:
- Introduzione [3h]
- Storia dell'evoluzione dei calcolatori
- Calcolatori meccanici, a valvole, a transistor
- Integrazione su larga scala
- Rappresentazione dell'informazione [6h]
- Il concetto di informazione
- Dati digitali ed analogici
- La codifica binaria dei numeri
- Limitazioni dell'aritmetica finita
- La codifica binaria dei dati non numerici
- Rappresentazione del testo
- Digitalizzazione di audio e video
- Reti logiche [5h]
- Operazioni logiche
- Espressioni booleane e funzioni
- Reti logiche combinatorie
- Codificatori/Decodificatori
- Selettori
- Addizionatore
- La funzione di memoria
- Segnali a livelli e a impulsi
- Flip-flop e registri
- Reti sequenziali sincrone
- Reti autonome e contatori
- La memoria ad accesso diretto
- Architettura del calcolatore [5h]
- Architettura di Von Neumann
- L’unità centrale di elaborazione
- Istruzioni macchina
- Il ciclo macchina
- Memoria centrale
- Memoria secondaria
- Dischi magnetici e ottici
- Gerarchia di memorie
- Dispositivi di ingresso/uscita
- Il controllore
- Istruzioni di I/O
- Accesso diretto alla memoria
- Parallelismo a livello di istruzione /processore
- Un linguaggio macchina di esempio (Brookshear)
- Sistemi operativi [6h]
- Le funzioni del sistema operativo
- Interrupt, modalità operative, chiamate di sistema
- Multiprogrammazione, gestione dei processi
- Schedulazione dei processi
- Il timer e la commutazione di contesto
- Gestione della memoria
- Paginazione e memoria virtuale
- Gestione della memoria di massa
- Allocazione dei blocchi del disco
- La gestione delle periferiche
- Comunicazione e sincronizzazione
- Corsa critica e mutua esclusione
- Semafori
- Caratterizzazione e prevenzione dello stallo
- Reti di calcolatori [8h]
- Mezzi di trasmissione
- Reti locali, geografiche, internetwork
- Commutazione di circuito / di pacchetto
- Architettura del software di rete
- Gerarchie dei protocolli
- Servizi di comunicazione
- Il modello di riferimento
- Apparati di commutazione
- Sistemi distribuiti (client/server e peer-to-peer)
- Internet ed il modello di riferimento TCP/IP
- Applicazioni: DNS, WWW, e-mail
- Programmazione [5h]
- I linguaggi di programmazione di basso e alto livello
- Interprete e compilatore
- Programmazione imperativo-procedurale
- Programmazione strutturata, teorema di Boehm-Jacopini
- Tipi di dato
- I sottoprogrammi e le funzioni
- Il passaggio dei parametri per valore / indirizzo
- Variabili globali
- Introduzione alla programmazione ricorsiva
- Pila di attivazione e ricorsione
- Algoritmi [4h]
- Alcuni esempi di problemi computazionali
- Il problema dell'ordinamento
- Ordinamento per inserimento
- Invarianti di ciclo e correttezza dell'ordinamento per inserimento
- Ordinamento per selezione
- Analisi della complessità degli algoritmi
- Analisi di insertion sort
- Progetto degli algoritmi: il metodo divide et impera
- Ordinamento per fusione / partizione
- Analisi dell'ordinamento per fusione
- NP-Completezza
- Cenni alle strutture dati
- Codifica e cifratura dell'informazione [6h]
- Entropia ed informazione secondo Shannon
- Modello di un sistema di trasmissione
- Codice di Shannon-Fano e di Huffman
- Codice LZW
- Codice run-length
- Codifica relativa
- Compressione dei dati audiovisivi
- Codici di correzione degli errori
- Crittografia e cifrari
- Crittografia a chiave simmetrica / asimmetrica
- Autenticazione e firma digitale
- Hashing, MD5
- Certificazione delle chiavi
- Protocolli crittografici di Internet
Legacy:
Integrazioni del docente al testo (Brookshear, Informatica - Una panoramica generale . 12ed ) [PDF] ( password comunicata a lezione)
Integrazioni del docente al testo (Brookshear, Informatica - Una panoramica generale . 11ed ) [PDF] (password comunicata a lezione)