Corso di Laurea in Ingegneria Elettronica - Università di Roma "La Sapienza"

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

Prof. Diego Calvanese


Programma definitivo del corso

  1. Introduzione all'elaborazione automatica delle informazioni. La nozione di algoritmo. Linguaggi per la descrizione di algoritmi. [D1, Cap.2]
  2. I sistemi di elaborazione: architettura hardware e software. Schema funzionale di un elaboratore elettronico; funzionamento elementare di un elaboratore [D1, Cap.3]. Cenni sul linguaggio macchina e sul linguaggio assembler [D1, Cap.4]. Il software di base di un elaboratore; cenni sui compilatori e sugli interpreti [D1, Cap.5]. La rappresentazione delle informazioni: sistemi di numerazione, rappresentazione di interi, reali e caratteri, aritmetica intera e reale nelle rappresentazioni binarie [D1, 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 dell'ambiente LCC-Win32 [D2]. Vettori e matrici [L1, Cap.6; L2, Capp.4,5].
    È raccomandato lo svolgimento delle esercitazioni autoguidate.
  4. Strutture di dati. Tipi di dati astratti 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:

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

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

[D2] Dispensa di Fondamenti di Informatica: Guida all'uso di LCC-Win32 per la programmazione in C. A.A. 2001/2002.

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, all'indirizzo http://www.dis.uniroma1.it/~calvanese/didattica/01-02-fond-eln/.


Ritorno alla home page del corso
Ultimo aggiornamento di questo file: Tuesday, 18-Mar-2003 12:13:35 CET