Fondamenti di Informatica 2 - 2009-10 - Ing. Gest.

Descrizione: 

Obiettivi formativi

Il corso intende fornire una comprensione sufficientemente approfondita della struttura interna dell’elaboratore e del suo funzionamento in relazione sia alle applicazioni classiche che a quelle multimediali. Nelle esercitazioni di laboratorio gli studenti utilizzano librerie e programmi in linguaggio C appositamente sviluppati dal docente per la manipolazione di dati multimediali e la simulazione di un modello didattico di CPU.

Competenze acquisite

  • comprendere ed usare in modo appropriato la terminologia relativa alle architetture hardware e software degli elaboratori;
  • conoscere e comprendere il comportamento del calcolatore a vari livelli di astrazione in particolare i meccanismi di funzionamento a basso livello;
  • dimensionare correttamente sistemi di memorizzazione ed elaborazione di informazioni multimediali e scrivere semplici programmi in linguaggio C per elaborare file multimediali in alcuni formati base;
  • comprendere i problemi della programmazione e basso livello e progettare semplici programmi in linguaggio assembler e in linguaggio macchina utilizzando un modello didattico di CPU RISC
  • saper analizzare e valutare le proprietà di un sistema operativo in relazione alle esigenze dell’utente

Libri di testo

Il testo consigliato è:

  • "Introduzione all’Informatica (2a edizione)”, della Casa Editrice Ambrosiana (1998) di P. Tosoratti

I seguenti testi possono essere utili per approfondimenti:

  • "Architetture dei calcolatori elettronici", della McGraw-Hill (2005) di G. Bucci
  • "I moderni sistemi operativi", della Prentice Hall International - Jackson Libri di A. S. Tanenbaum

Altro materiale

Tutto il materiale presentato a lezione verrà reso disponibile presso questo sito, ma ad accesso controllato (ovvero scaricabile solo dopo il login). Generalmente il materiale viene pubblicato un paio di giorni dopo la lezione in cui è stato illustrato (per motivi tecnico/logisitici).
Tuttavia il materiale utilizzato negli anni passati e pesantemente usato anche in questo anno (fino all'AA 2008/09 il corso era tenuto dal professor Pierattoni) è anche disponibile presso il sito personale, a questo indirizzo.

Modalità d'esame: 

Compito scritto

La durata è variabile tra 1h30m e 2h (secondo difficoltà).
Non è consentito consultare libri, appunti, dispense o qualsiasi altro materiale e non è consentito uscire dall'aula.
La valutazione dello scritto verrà resa nota entro la data stabilita per l'esame orale.

Prova a casa

Nel caso lo studente non abbia svolto un esercizio nel compito, dovrà comunque portare all'orale la soluzione svolta a casa; tale soluzione può ovviamente essere qualsiasi.

Laboratorio/Esercitazioni

Durante il corso vengono proposte alcune esercitazioni-laboratorio che lo studente è invitato a svolgere. Tali elaborati non sono obbligatori, ma potranno essere argomento di discussione all'esame, agevolando quindi gli studenti che li avranno svolti.

Discussione orale

La prova orale deve essere sostenuta nel medesimo appello della prova scritta.
E' costituita essenzialmente da una discussione del compito scritto e della soluzione svolta a casa dallo studente, più una serie di domande aggiuntive a discrezione del docente su argomenti indicati nel programma del corso.
Per essere ammessi all'orale è necessario un punteggio della prova scritta maggiore o uguale a 18/30.
La registrazione finale dell'esame di Fondamenti di Informatica potrà avvenire ad opera della Commissione d'Esame solo quando il candidato avrà sostenuto le prove di entrambi i moduli, ciascuna con esito positivo e secondo le proprie modalità. Il voto finale sarà la media dei voti conseguiti nei due moduli.

Prova di esonero

Al momento non è prevista una prova d'esonero (compitino) per il corso

Programma: 

Il corso è suddiviso in 4 sezioni/fasi:

  1. La codifica delle informazioni
    • Informazioni testuali e numeriche
    • Immagini fisse e in movimento
    • Suoni
    • Tecniche di rilevazione e correzione degli errori
    • Tecniche di compressione
  2. L'architettura dei calcolatori
    • Richiami di reti logiche (circuiti combinatori, sequenziali, reti logiche elementari, flip-flop)
    • Esempio di semplice architettura RISC
    • Linguaggio macchina
    • Linguaggio assembler
    • Architetture RISC e CISC
    • Memoria cache, interrupt e DMA
    • Cenni sul calcolo parallelo e sui sistemi multiprocessore
  3. Introduzione ai Sistemi Operativi
    • Gestione dei processi e processori
    • Gestione della memoria centrale
    • Gestione della memoria di massa e file system
    • Gestione dell’I/O fisico
  4. Utilizzo dei fogli elettronici per applicazioni tecnico-scientifiche