nav-left cat-right
cat-right

Informatica 3

Docente:

Prof. Pier Luca Lanzi
Dipartimento di Elettronica e Informazione
Primo Piano – Ufficio 121
Ricevimento: Lun. 11-13
Esercitatore: Ing. Daniele Loiacono
Orario Lunedì 14.15 – 17.15 aula S.0.5
Giovedì 16.15 – 18.15 aula EL.0

Distribuzione dell’Attività Didattica

30 ore di lezione, 20 ore di esercitazione,
non sono previste ore di laboratorio.

Argomenti Trattati

  • Prima Parte:
    Linguaggi di Programmazione
    1. I linguaggi di programmazione: concetti generali e classificazioni fondamentali; cenni storici
    2. Sintassi e semantica
    3. La struttura dei dati
    4. La struttura di controllo
    5. Modularizzazione
    6. Linguaggi orientati agli oggetti
    7. Cenni ai linguaggi Interpretati
  • Seconda Parte:
    Algoritmi e Strutture Dati
    1. Introduzione alla complessità del calcolo
    2. La notazione “Theta-grande”
    3. La realizzazione di tipi astratti di dati in Java
    4. Strutture dati e algoritmi fondamentali
    5. Algoritmi di ricerca e ordinamento
    6. Alberi e loro gestione
    7. Realizzazione mediante puntatori
    8. Alberi binari
    9. Algoritmi di visita e gestione
    10. B-trees
    11. Grafi, loro rappresentazione e gestione
    12. Pile, code e tabelle hash
    13. Applicazioni di elaborazioni numeriche e simboliche: a scelta e a rotazione alcuni tra: string matching, compressione dei dati, crittografia (cenni), moltiplicazione tra matrici, trasformata veloce di Fourier (FFT)

Bibliografia

  • Per la prima parte: Ghezzi C., Jazayeri M.: Programming language concepts, 4th edition, John Wiley & Sons, 2002.
  • Per la seconda parte: C.A.Shaffer: A practical Introduction to data structures and algorithm analysis.
  • Lucidi e dispense distribuite attraverso il sito del docente.

Prerequisiti
I fondamenti dell’informatica come impartiti nei corsi di Informatica 1 e Informatica 2. Elementi di programmazione a oggetti in Java, così come impartita in Ingegneria del software.

Materiale Didattico

Temi d’Esame