FONDAMENTI DI INFORMATICA

Corso di Laurea in Ingegneria per l'Ambiente e il Territorio

Programma definitivo a.a. 1998-99
  1. L'elaborazione automatica. La nozione di algoritmo. Linguaggi per la descrizione di algoritmi. Linguaggi di programmazione. Cenni al sistema di elaborazione.
  2. L'architettura dei calcolatori. Codifica binaria dell'informazione. Cenno all'architettura di un calcolatore. Il linguaggio del calcolatore. L'ambiente di sviluppo.
  3. Il linguaggio C. Elementi di base. La sintassi del C: parte dichiarativa e parte esecutiva dei programmi. Assegnazioni, espressioni e istruzioni composte. Input ed output. Tipi di dato semplici: int, float, char. Tipi definiti dall'utente.
  4. Il linguaggio C. Strutture di controllo. Tipi di dato strutturati. La tipizzazione e la compatibilità dei tipi in C. Gestione dei file.
  5. Tecniche di programmazione modulare. Il tipo puntatore. Funzioni e procedure. Introduzione alla programmazione ricorsiva.
  6. Algoritmi e strutture di dati. Strutture di dati statiche: vettori e matrici. Strutture di dati create dinamicamente. Liste e algoritmi fondamentali per la loro gestione. Pile e code.
  7. Basi di dati. Introduzione agli archivi e alle basi di dati. Il modello relazionale dei dati. Cenni di algebra relazionale. Cenni di SQL.
  8. Sistemi informativi geografici (GIS). Rappresentazione di immagini raster e vettoriali. I GIS e la rappresentazione del territorio.


Testo di riferimento
 [1] S. Ceri, D. Mandrioli, L. Sbattella. Informatica istituzioni - Linguaggio di riferimento ANSI C. McGraw-Hill Libri Italia, Milano, 1994.

Dispensa (in distribuzione presso la libreria "L'Universitaria")
 [2] Breve introduzione ai Sistemi Informativi Geografici - Franco Ziviani Editore, Milano, 1994.

Altri testi utili
 [3] P. Demichelis, E. Piccolo. Introduzione all'informatica in C. McGraw-Hill Libri Italia, Milano, 1996.
 [4] M. Gori, P. Nesi, E. Pasca. Pascal e C - Guida pratica alla programmazione. McGraw-Hill Libri Italia, Milano, 1996.
 [5] B.S. Gottfried. Programmare in C. II edizione, Collana "Schaum's", McGraw-Hill Libri Italia, Milano, 1998.
 [6] E. Horowitz, S. Sahni, S. Anderson-Freed. Strutture dati in C. McGraw-Hill Libri Italia, Milano, 1993.
 [7] P.A. Darnell, P.E. Margolis. C - Manuale di programmazione. II edizione, McGraw-Hill Libri Italia, Milano, 1997.
 [8] A. Kelley, I. Pohl. C - Didattica e Programmazione. I edizione, Addison-Wesley Italia Ed., Milano, 1996.
 [9] P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati - Concetti, linguaggi e architetture. McGraw-Hill Libri Italia, Milano, 1996.
 

Guida alla bibliografia
Con riferimento al testo [1] si riporta una guida alla lettura, specificando i capitoli importanti per la preparazione dell'esame: 1, 2 (eccetto 2.2. e 2.2.4) , 3, 4 (eccetto 4.7 e 4.8), 5 (solo cenni per quanto riguarda il MiniC), 6, 7, 8, 9, 10 (cenni), 11 (eccetto 11.3), 12 (solo 12.4, 12.5 e 12.6), 13, 16 (solo 16.1, Esempio 16.4 (Insertion Sort) ed Esercizio 16.8 (Merge)), 17 (solo 17.1 e 17.2), 18 (solo 18.2 e 18.3), 19 e 25 (estremamente utile per lo svolgimento di esercizi) e 26 (solo 26.2 e 26.3). La dispensa [2] fornisce una breve panoramica sui GIS, assieme a un utile glossario. I riferimenti [1] e [2] costituiscono materiale necessario per la preparazione dell'esame.

Il volume [3] affronta molte delle problematiche considerate in [1]: esso fornisce dunque utile materiale per approfondimento e/o integrazione. I volumi [4] e [5] contengono vari esempi ed esercizi: in particolare, il [4] presenta tecniche di programmazione, sviluppando ogni esempio sia in Pascal sia in C (testo particolarmente utile per chi ha seguìto il corso quando il linguaggio di riferimento era il Pascal); il [5] illustra il linguaggio ANSI C, presentando esempi sviluppati in ambiente Turbo C++ (ambiente di riferimento in laboratorio). Nel volume [6] sono presentate tecniche per la costruzione di strutture di dati in C: si tratta di argomenti generalmente avanzati rispetto alle esigenze del corso, con l'eccezione dei capitoli 2 (array e strutture) e 4 (liste). Il volume [7] rappresenta un ottimo manuale di programmazione in C, contenente tutti i dettagli sulla sintassi del linguaggio. Il volume [8] può essere una interessante alternativa al precedente: un po' meno formale, un po' più didattico e un maggior numero di esercizi.

Discorso a parte per il volume [9], testo sulle basi di dati, la cui prima parte (basi di dati relazionali) può risultare di notevole utilità per lo studente. In particolare rilievo il Cap. 4, sul linguaggio SQL.


home page del corso home page del docente