Programmazione 2

Corso di Laurea in Informatica - I Livello

A.A. 2005-2006

Docenti: Sebastiano Battiato Rosalba Giugno

 Orario:  Lunedì - Mercoledì (10.30-13.00)  Venerdì (8.30 -10-30)  Corso AL (Aula 23) - Corso MZ (Aula 3) 

    Avvisi:  

- Esiti prova scritta. Il progetto individuale sarà assegnato Venerdì 24 Novembre ore 12.30 (Studio 362 - II piano).

- Appello straordinario di Programmazione 2: 15 Novembre 2006 (ore 16.00 - Aula127)

- Esiti Prova Scritta. Il progetto individuale sarà assegnato Martedì 3 Ottobre alle ore 10.00 (Studio 362 - II piano). La discussione sul progetto con relativa valutazione finale è invece fissata per il giorno 5 Ottobre 2006 ore 9.30.

- La prova scritta del secondo appello della Sessione autunnale si svolgerà Lunedì 25 Settembre ore 15.00 (aula 127)

- Considerato che l'appello successivo del 5 ottobre è un pò troppo vicino alla data del 10 ottobre (data ultima per l'acquisizione dei crediti per l'iscrizione) stiamo valutando la possibilità di anticipare di qualche giorno la data dell'esame. Sarete ovviamente informati per tempo (forum e sito)

- Il progetto individuale, per coloro che hanno superato la prova scritta nelle sessioni precedenti, sarà assegnato Martedì 12 Settembre 2006, alle ore 9.30 (Studio 362 - II piano). La discussione sul progetto con relativa valutazione finale è invece fissata per giorno 14 Settembre 2006, ore 9.00. Il voto finale è determinato dal voto dello scritto, cui va sommato un bonus (positivo o negativo) che dipende dalla valutazione che verrà data all'implementazione del progetto. Qualora il progetto non dovesse essere valutato in maniera sufficiente sarà necessario ripetere la prova. Coloro che intendessero svolgere la prova di progetto nelle prossime sessioni sono pregati di notificarlo via mail ai docenti.

- Testo Esami Novembre (Prove Scritte e Progetti) (zip)

- Testo Esami Settembre (Prove Scritte e Progetti) (zip)

- Testo Esami Luglio (Prova Scritta e Progetto) (zip)

- Testo Esami Giugno (Prova Scritta e Progetto) (zip)

- Testo II prova in Itinere (pdf) - Esiti e voti (pdf)

- Esempio Tipo Prova Scritta - Progetto (zip)

- Esempio Tipo II  prova in Itinere - (pdf)  

- Slides Esercitazione in aula del 5 Giugno (pdf)

- Testo I prova in Itinere (pdf)  - Elenco Ammessi alla seconda prova in itinere (pdf)

- Testo Esercitazione del 7 Aprile 2006 (pdf)

- Mercoledì 19 Aprile si terrà la prima prova in itinere. E' necessario prenotarsi (qui).

- L'inizio del corso è previsto per Lunedì 13 Marzo e proseguirà secondo calendario. A partire dalla seconda metà di Aprile si terranno delle lezioni anche il Venerdì mattina dalle 8.30 alle 10.30.

bulletProgramma del Corso e Modalità d'Esame
bulletParte 1 - Introduzione
bulletParte 2 - Gestione delle Eccezioni
bulletParte 3 - Input Output su Stream e File
bulletParte 4 - Strutture Dati Astratte
bulletParte 5 - Strutture Dati Semplici: Pila e Coda
bulletParte 6 - Liste Linkate Semplici e doppie
bulletParte 7 - Introduzione alla Complessità
bulletParte 8 - Ricorsione
bulletParte 9 - Algoritmi di Ordinamento
bulletParte 10 - Alberi
bulletParte 11 - Grafi

 

Programma del Corso

Programmazione avanzata in Java: Gestione delle Eccezioni,Input ed Output su Stream e File.
Cenni Ambienti di Sviluppo e Debugging: NetBeans, Jswat. 
Strutture dinamiche semplici: Liste Concatenate semplici, Liste Concatenate doppie, Pile e Code.
Analisi della Complessità: Notazioni, Calcolo della Complessità Asintotica.
Ricorsione e Iterazione: Algoritmi Iterativi e Algoritmi Ricorsivi,Ricorsione in coda e non e multipla
Gli Alberi: Alberi generici (definizioni), Alberi Binari, Alberi Binari di Ricerca (BST), 
Algoritmi di attraversamento, Algoritmi di ricerca, inserimento e cancellazione.
Algoritmi di Ordinamento: Selection Sort, Insertion Sort, Bubble Sort, Merge Sort, Quick Sort
Complessità degli algoritmi di ordinamento

Modalità d'esame

I risultati della prova in itinere del 19 Aprile scorso verranno pubblicati sul sito del corso, non appena finiremo di correggerli. Prima della fine del corso ci sarà una ulteriore prova, che verterà sulla seconda parte del corso che sarà riservata ESCLUSIVAMENTE a coloro che avranno superato la prima prova.

Il superamento delle prove in itinere garantisce l'esonero dalla prova scritta e avrà validità fino a Marzo 2007.

Le nuove modalità d'esame per il corrente anno accademico sono le seguenti:

Prova scritta. Durata 2 ore. Verrà richiesta l'implementazione di alcuni metodi che utilizzino delle strutture dati sia semplici (pile, code, ...) che avanzate (alberi, ...) con specifiche funzionalità. Voto in 30-esimi.

A coloro che supereranno la prova scritta verrà assegnato uno specifico progetto "personale" da implementare con delle precise e tassative scadenze (al più 2-3 giorni) su file e strutture dati combinate.  Il progetto verrà quindi discusso singolarmente con i docenti che in caso di esito positivo decideranno il voto finale.

E' possibile affrontare le due prove in appelli separati. Il superamento della prova scritta garantisce l'accesso alla prova implementativa fino a Marzo 2007.

Libri di testo

Algoritmi e Strutture Dati in Java - Alan Drozdek Apogeo 2002;

Strutture Dati in Java  - John R. HubbardcGraw Hill -  Collana Schaum, McGraw Hill, 2001;

Letture consigliate

 

Modalità d'esame

Prova scritta e di laboratorio

Sono previste delle prove in Itinere con esonero.

Torna all'inizio

Parte1 - Introduzione

    Slides: (PDF)

 

Torna all'inizio

Parte 2 - Gestione delle Eccezioni

    Slides: (PDF)   Esempi (zip)     Tutorial_SUN(zip)

Torna all'inizio

Parte 3 - Input Output su Stream e File

    Slides: (PDF)           Esempi (zip)

   

Torna all'inizio

Parte 4 - Strutture Dati Astratte

    Slides: (PDF)         Esempi(zip)

 

Torna all'inizio

Parte 5 - Strutture Dati Semplici: Pila e Coda

    Slides: (PDF)         Esempi (zip)

   

Torna all'inizio

Parte 6 - Liste Linkate semplici e doppie

    Slides: (PDF1 , PDF2, PDF3)  Esempi (zip1, zip2)

   

Torna all'inizio

Parte 7 - Introduzione alla Complessità

    Slides: (PDF)

   

Torna all'inizio

Parte 8 - Ricorsione

    Slides: (PDF)

   

Torna all'inizio

Parte 9 - Algoritmi di Ordinamento

    Slides: (PDF)

 

Torna all'inizio

Parte 10 - Alberi

    Slides: (PDF1, PDF2, PDF3, PDF4)   Esempi (zip)

   Torna all'inizio

Parte 11 - Grafi

    Slides: (PDF

   Torna all'inizio