FONDAMENTI DI INFORMATICA

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

Programma a.a. 2000-2001
 
  1. L'elaborazione automatica. Gli elaboratori elettronici ed il personal computer. Hardware e software. Cenni al sistema di elaborazione. La nozione di algoritmo. Linguaggi per la descrizione di algoritmi. Linguaggi di programmazione.
  2. L'architettura dei calcolatori. Cenno alla codifica binaria dell'informazione. Cenno all'architettura di un calcolatore. Il linguaggio del calcolatore. L'ambiente di sviluppo.
  3. Il linguaggio C (1). Elementi di base. La sintassi del C: parte dichiarativa e parte esecutiva dei programmi. Variabili e costanti. Espressioni ed assegnazioni, istruzioni if e while, blocchi di istruzioni. Input ed output. Tipi di dato semplici: interi e floating point. Tipi semplici definiti dall'utente (typedef).
  4. Il linguaggio C (2). Strutture di controllo evolute (for, do-while). Tipi di dato strutturati (array e strutture). La direttiva #define. La tipizzazione e la compatibilità dei tipi in C. Gestione dei file testuali.
  5. Tecniche di programmazione modulare in C. Il tipo puntatore. Funzioni e procedure. La direttiva #include.
  6. Algoritmi e strutture di dati. Strutture di dati statiche: vettori e matrici. Strutture di dati create dinamicamente.

BIBLIOGRAFIA

Materiale di riferimento
[CMS99] S. Ceri, D. Mandrioli, L. Sbattella. Informatica - arte e mestiere. McGraw-Hill Libri Italia, Milano, 1999.
Altri testi utili
[DD00] H. M. Deitel, P. J. Deitel.C -- Corso completo di programmazione. Apogeo, Milano, 2000.
[GNP96] M. Gori, P. Nesi, E. Pasca. Pascal e C - Guida pratica alla programmazione. McGraw-Hill Libri Italia, Milano, 1996.
[G98] B.S. Gottfried. Programmare in C. II edizione, Collana "Schaum's", McGraw-Hill Libri Italia, Milano, 1998.
[DM97] P.A. Darnell, P.E. Margolis. C - Manuale di programmazione. II edizione, McGraw-Hill Libri Italia, Milano, 1997.

GUIDA ALLA BIBLIOGRAFIA

Materiale di riferimento
Con riferimento al testo [CMS99] si riporta una guida alla lettura, specificando i capitoli importanti per la preparazione dell'esame: 1, 2, 4, 5 (eccetto 5.4.2), 6 (eccetto 6.1.1, 6.3 e 6.4), 7, 9 (eccetto 9.2.3.4 e 9.3), 11. Dei Capp. 3, 13 e 17, sebbene non indispensabili per la preparazione dell'esame, è comunque consigliata la lettura: in particolare, il Cap. 3 "ammorbidisce" l'impatto con il linguaggio C, mentre i Capp. 13 e 17 forniscono informazioni di pratica utilità.

Esercizi ed integrazioni
Il volume [DD00] è un corso di programmazione in C di alta qualità, che considera tutti gli aspetti rilevanti, inclusi alcuni che risultano piuttosto avanzati. Sebbene si tratti di materiale estremamente valido, lo studente è in questo caso chiamato a ritagliare all'interno del testo un percorso didattico che rispecchi la trattazione del C che viene fatta in aula. Ampia la disponibilità di esercizi. I volumi [GNP96] e [G98] contengono vari esempi ed esercizi: in particolare, [GNP96] presenta tecniche di programmazione, sviluppando ogni esempio sia in Pascal sia in C (testo particolarmente utile per chi possiede nozioni di Pascal); [G98] illustra il linguaggio ANSI C, presentando esempi sviluppati in ambiente Turbo C++ (ambiente di riferimento in laboratorio). Si tratta tuttavia di materiale povero dal punto di vista metodologico.

Tecniche avanzate
Il volume [DM97] rappresenta un ottimo ed approfondito manuale di programmazione in C, contenente tutti i dettagli sulla sintassi del linguaggio; lo svantaggio di tale volume è costituito dalla sua relativa complessità. Si tratta in definitiva di materiale completo, di grande utilità per chi sviluppa nella vita reale (non solo per superare un esame!) programmi in C.

home page del corso
home page del docente