Tecniche di Programmazione (Rieti)

Tecniche di Programmazione

Corso di Laurea in Ingegneria Informatica
(Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti)

Docente: Prof. Paolo Romano

Tutor: Ing. Diego Rughetti


Obiettivi del corso

Approfondire la conoscenza dei principi basilari per la progettazione del software ed apprendere le caratteristiche fondamentali dei linguaggi di programmazione che richiedono una comprensione approfondita del modello di esecuzione dei programmi, fra cui ricorsione e strutture collegate. Al termine del corso lo studente è in grado di progettare programmi Java che comportano l’uso di strutture dati complesse, quali liste collegate, pile, code, insiemi, alberi.


Programma del corso

  1. Introduzione alla progettazione del software
    • Ciclo di vita del software
    • Qualità interne ed esterne
    • Modularizzazione
  2. Progettazione orientata agli oggetti
    • Principi di base dell'orientazione agli oggetti
    • Principali tipologie di relazioni tra oggetti
    • Oggetti composti e delagazione
    • Ereditarieta'
    • Classi Astratte
    • Eccezioni e gestione degli errori
    • Interfacce
  3. Ricorsione
  4. Efficienza dei programmi
    • Notazione asintotica del costo dei programmi
    • Ricerca sequenziale e Ricerca binaria
    • Algoritmi di ordinamento: per selezione, bolle, fusione
  5. Creazione e gestione di collezioni di oggetti
    • Utilizzo degli array
    • Strutture colegate: liste, code, pile
  6. Alberi binari
  7. Tipi astratti di dato


Testi di riferimento

  • C. S. Horstmann, Concetti di informatica e fondamenti di Java, Terza Edizione, 2005, ed. Apogeo
  • D. Calvanese, G. De Giacomo, C. Demetrescu, L. Iocchi, D. Nardi, Lezioni di Tecniche di Programmazione, 2005. Progetto Leonardo, ed. Esculapio, ISBN 88-7488-037-5


Link utili


Lucidi delle lezioni


Lucidi delle esercitazioni


Esami