Corso di Laurea in Ingegneria Elettronica

Corso di Fondamenti di Informatica - A.A. 2000/2001


Programma definitivo del corso

  1. Introduzione all'elaborazione automatica delle informazioni. La nozione di algoritmo. Linguaggi per la descrizione di algoritmi. [D2, Cap.2]
  2. I sistemi di elaborazione: architettura hardware e software. Schema funzionale di un elaboratore elettronico; funzionamento elementare di un elaboratore [D2, Cap.3]. Cenni sul linguaggio macchina e sul linguaggio assembler [D2, Cap.4]. Il software di base di un elaboratore; cenni sui compilatori e sugli interpreti [D2, Cap.5]. La rappresentazione delle informazioni: sistemi di numerazione, rappresentazione di interi, reali e caratteri, aritmetica intera e reale nelle rappresentazioni binarie [D2, Capp.6-12].
  3. Linguaggi di programmazione e tecniche di programmazione nel linguaggio C. Cenni sulla sintassi dei linguaggi di programmazione. Strutture di controllo del C [L1, Capp.3,4]. Input/output in C e uso dei file in C [L1, Capp.9, 13]. Le funzioni C e la ricorsione [L1, Cap.5]. Puntatori e strutture C [L1, Cap.7, Cap.10 fino a 10.6] Uso del TurboC/C++ [D3]. Vettori e matrici [L1, Cap.6; L2, Capp.4,5] (È raccomandato lo svolgimento delle esercitazioni autoguidate).
  4. Strutture di dati Tipi astratti di dati e loro rappresentazioni. Insiemi, matrici, liste, pile, code, alberi [L2, Capp.6,7,8]
  5. Analisi di algoritmi e programmi. Cenni sulla complessità degli algoritmi. Modello di costo, notazione O e istruzione dominante [L2, Cap.3].
  6. Algoritmi fondamentali. Ricerca sequenziale e binaria e loro complessità [L2 Cap.4]. Algoritmi di ordinamento e loro complessità [L2, Cap.4].

Materiale didattico

Libri di testo:

[L1] H. Deitel, P. Deitel. C Corso completo di Programmazione. Apogeo, 2000.

[L2] D. Calvanese, P. Liberatore, F. Massacci, R. Rosati. Programmazione con strutture dati in C. Esculapio, Progetto Leonardo, Bologna, 2001.

Dispense:

(In distribuzione presso le librerie Ingegneria 2000, Via della Polveriera 15 e L'Universitaria, Viale Ippocrate 99):

[D1] Guida per lo Studente (corso di Fondamenti di Informatica per il corso di Laurea in Ingegneria Elettronica, A.A. 2000/2001).

[D2] Architettura del calcolatore e rappresentazione dell'informazione (complementi al corso di Fondamenti di Informatica per il corso di Laurea in Ingegneria Elettronica A.A. 2000/2001). D. D'Aloisi. 2001.

[D3] Dispensa di Fondamenti di Informatica: Guida all'uso del TurboC/C++ per la programmazione in C. 2000.

Per approfondimenti:

Chi desiderasse, per interesse o necessità personali, approfondire gli argomenti trattati nel corso, può consultare i seguenti testi:

[A1] E.S. Roberts. The Art and Science of C. Addison Wesley, 1995.

[A2] S.P. Harbison, G.L. Steele Jr. C A Reference Manual. Prentice Hall, 1995.

[A3] P.A. Darnell, P.E. Margolis. C Manuale di Programmazione. McGraw Hill, 1997.

Altro materiale è reso disponibile attraverso il sito internet del corso, ospitato dal laboratorio di informatica "Paolo Ercoli", via Tiburtina 205. L'indirizzo del sito è http://tibur.dis.uniroma1.it (bisogna seguire i riferimenti del corso di interesse).