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:

  1. 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)