CORSO DI LAUREA IN INGEGNERIA CIVILE
Denominazione del Corso di Insegnamento: Fondamenti di Informatica
Indicare se l’Insegnamento è presente in altri Corsi di Laurea: tutti i Corsi di Laurea della
Facoltà di Ingegneria
Docente: Struttura di Afferenza: Dipartimento di Ingegneria Elettrica ed Elettronica
Durata del corso: 60 ore
N. crediti: 6
Pre-requisiti: (in prima istanza possono essere indicati Corsi di Insegnamento; in una fase
successiva [quando saranno consultabili le articolazioni dei Corsi indicati come pre-requisiti] la
voce dovrà possibilmente contenere argomenti di insegnamento già conosciuti)
Nessuno.
Obiettivi e contenuto schematico del corso: (max 5 righe-risultati d’apprendimento previsti e
competenze da acquisire, indicati con riferimento ai descrittori di Dublino* )
Il corso fornisce le conoscenze fondamentali sia sui principi del funzionamento e
sull'organizzazione di calcolatori, sistemi informativi e reti di calcolatori, che sui linguaggi di
programmazione, con riferimento al linguaggio C. Tali conoscenze consentiranno di comprendere
l'architettura, i componenti e la logica del funzionamento dei moderni sistemi informativi, valutare
autonomamente l'adeguatezza di semplici strumenti informatici in ambito professionale, e dialogare
efficacemente con specialisti informatici per lo sviluppo di soluzioni più complesse. Forniscono
inoltre la capacità di sviluppare programmi in linguaggio C, nonché le basi per affrontare
insegnamenti più specifici nell'area dell'ingegneria dell'informazione.
Programma ed articolazione del Corso:
(Il programma deve essere articolato orientativamente in 7-10 argomenti fornendo per ciascuno il
n. di ore di insegnamento dedicato nel corso)
Architettura dei calcolatori (4 ore). L’architettura di Von Neumann: unità di elaborazione,
memoria centrale, bus di sistema, interfacce di I/O, dispositivi esterni.
Il sistema operativo (4 ore). Organizzazione e funzioni di un sistema operativo: gestione dei
processi, della memoria centrale, delle periferiche, del file system e dell'interfaccia utente.
Codifica binaria dell’informazione (2 ore). Codifica analogica e numerica delle informazioni.
Codifica binaria dei numeri interi e dei numeri reali. Cenni sulla codifica di testi, immagini, audio,
video. Cenni sulla compressione dei dati.
Sistemi informativi (7 ore). Organizzazione e funzionamento dei sistemi informativi. La gestione
dei dati. Le basi di dati. Il modello relazionale. Esempi di sistemi informativi.
Reti di calcolatori, Internet (7 ore). Mezzi trasmissivi e tecniche di trasmissione dati. Topologia
delle reti di calcolatori. Protocolli. Principali protocolli e servizi della rete Internet, organizzazione
dei servizi Internet.
Algoritmi e linguaggi (6 ore). Il concetto di algoritmo. Linguaggi per la codifica di algoritmi.
Definizione di esecutore.
Linguaggio C (30 ore). Codifica degli algoritmi in un linguaggio di alto livello; strumenti di
supporto alla programmazione in linguaggio C (editor, compilatore, linker). Tipi di dati: costanti,
tipi, variabili; tipi semplici e strutturati; tipi predefiniti e definiti dall’utente (array e struct);
puntatori. Strutture di controllo: istruzioni di selezione (if-then-else, switch) e istruzioni cicliche
(while-do, do-while, for). Funzioni e procedure: dichiarazione, definizione e invocazione; passaggio
dei parametri per valore e per indirizzo; procedure e funzioni predefinite. I/O standard e su file
(cenni).
Esercitazioni: (n. di ore dedicato alle esercitazioni, contenuto e modalità di svolgimento)
15 ore di esercitazione in aula, consistenti nello svolgimento di esercizi sulla codifica
dell'informazione e sullo sviluppo di programmi in linguaggio C. Gli esercizi saranno svolti in parte
dal docente e in parte dagli studenti.
Materiale didattico: (indicare testi, dispense, ecc., con eventuale disponibilità su web)
Testo di riferimento: S. Ceri, D. Mandriola, L. Sbattella, “Informatica, arte e mestiere”, McGrawHill Italia.
Copia delle presentazioni usate a lezione, esercitazioni e compiti d'esame nel sito web del corso
gestito dal docente.
Modalità di esame: (modalità di svolgimento prove intermedie e finale)
Una prova scritta composta da domande a risposta aperta su tutti gli argomenti del corso, ed esercizi
sulla codifica binaria, lo schema logico di basi di dati relazionali, e lo sviluppo di programmi in
linguaggio C.
Nozioni verificabili che si dovrebbero possedere dopo aver superato l’esame:
(indicare le principali conoscenze acquisite e ricadute nel percorso formativo)
Gli allievi dovranno conoscere:
 i concetti di base sull'architettura dei calcolatori e sui principi del loro funzionamento, sui
sistemi operativi e sulla loro organizzazione, e sulla codifica dell'informazione;
 i concetti di base sull'architettura, l'organizzazione e il funzionamento delle reti di
calcolatori, e in particolare della rete Internet;
 i concetti di base sull'organizzazione e il funzionamento dei sistemi informativi e delle basi
di dati, con riferimento all'organizzazione logica delle basi di dati relazionali;
 i concetti di base sui linguaggi di programmazione di alto livello, e i costrutti principali del
linguaggio C.
Gli allievi dovranno saper fare:
 comprendere lo schema logico di semplici basi di dati relazionali;
 comprendere programmi di media complessità scritti in linguaggio C;
 formulare algoritmi per la risoluzione di problemi di media complessità, e codificarli in
linguaggio C.
* I descrittori di Dublino tramite i quali definire gli obiettivi formativi sono, in sintesi:
 conoscenza e capacità di comprensione;
 capacità di applicare la conoscenza e capacità di comprensione;
 autonomia di giudizio;
 abilità comunicative;
 capacità di apprendere autonomamente.