Metodologie di Programmazione

Primo Canale
2° semestre  A.A. 2010-2011



PAGINA AGGIORNATA PERIODICAMENTE



Docente
:   Francesco Parisi-Presicce
Studio :  Via Salaria 113, terzo piano, stanza 345a    
telefono 06 4991 8514
Email : parisi (AT] di   [DOT) uniroma1 [DOT) it  (inserire nel Subject  MetodProgr)
Orario ricevimento studenti:
Mar 15:30-17:00 e Mer 13:00-14:30 [fino al 17 giugno] e per appuntamento
Esercitazioni:  dott.ssa Gaia Maselli    maselli (AT] di [DOT) uniroma1 [DOT) it 
Studio :  Via Salaria 113, terzo piano, stanza 319


AVVISI



E’ un insegnamento integrato con il corso di Fondamenti di programmazione per portare lo studente a sviluppare programmi di buona qualità

 PROGRAMMA BREVE

Le basi della programmazione orientata agli oggetti e il linguaggio Java: classi e oggetti; metodi: definizione ed uso; visibilità; ereditarietà e polimorfismo.
Tipi astratti di dato. Classi generiche ed Interfacce.
Implementazione di strutture dinamiche di dati lineari e non lineari. Array e Collezioni.
Ricorsione di base ed avanzata (generazione di sequenze ed enumerazione).
Input/Output, Streams e files.
Eccezioni. Pre- e Post- condizioni. Assert in Java.
Interfacce grafiche.
Gli strumenti di sviluppo: librerie e frameworks. Introduzione alle metodologie di  progettazione software tramite linguaggi orientati agli oggetti.
Le attività di laboratorio comprendono la familiarizzazione con l'ambiente di programmazione ad oggetti e l'implementazione di progetti guidati di piccole/medie dimensioni.

 MODALITÀ D'ESAME

L'esame consiste in una prova scritta ed un progetto.

  Prova scritta

Alla fine di aprile è prevista una prova scritta intermedia relativa a tutti gli argomenti del corso svolti fino a quel punto.
Gli studenti che hanno superato la prova intermedia possono completare la prova scritta sostenendo solamente la parte dello scritto relativa alla seconda parte negli appelli di giugno e luglio. Gli studenti che non hanno superato la prova intermedia, oppure che intendono migliorarne il voto, devono sostenere la prova scritta nella sua interezza.
Se alla fine della sessione estiva non si è superata la seconda parte, il voto dell'esonero è perso.

  Progetto

Durante il mese di aprile verrà comunicata la specifica del progetto (cioè, tutte le informazioni relative a come svolgere il progetto).
Il progetto può essere svolto da un gruppo di uno, due o tre studenti.
Il superamento del progetto richiede, oltre alla consegna di tutto ciò che è richiesto dalle specifiche, anche una discussione individuale circa il progetto consegnato.
Il voto dipende dal materiale consegnato, dalla struttura del progetto ed i suoi dettagli implementativi, e dalla discussione orale.
Se ci sono significativi indizi che portano a credere che il progetto consegnato sia stato copiato in tutto o in parte, il progetto è considerato nullo.

  Superamento dell'esame

Per superare l'esame bisogna aver superato sia la prova scritta che la prova di progetto, entrambe con almeno la sufficienza (18/30).
Il voto finale è la media ponderata dei voti ottenuti: 60% prova scritta e 40% progetto.
Non ci sono vincoli circa l'ordine in cui le due prove devono essere superate. Tuttavia la validità dei voti ottenuti nelle due prove termina con l'ultima sessione dell'a.a. 2010-2011, e se tali voti non danno luogo alla verbalizzazione dell'esame entro la sessione di gennaio-febbraio 2012, sono persi.


 Esercizi

Esercizi1
Esercizi2
Esercizi3
Esercizi4

 DIARIO delle LEZIONI

(aggiornato periodicamente)  


  TESTI di Riferimento

  1. P.J.Deitel, H.M.Deitel Programmazione Java - Fondamenti 7th ed., Pearson Education Italia, 2008
    Capitoli 3-13
  2. P.J.Deitel, H.M.Deitel Programmazione Java - Tecniche avanzate 7th ed., Pearson Education Italia, 2008
    Capitoli 1, 3, 4, 5, 8

  Altri testi per consultazione

  1. C.S.Horstmann, Concetti di Informatica e Fondamenti di Java, Apogeo, 2010
  2. S.J.Metsker, Design Pattern in Java, 2003 Pearson Education Italia
  3. B.Eckel, Thinking in Java 4th ed., Mindview, Inc., QUI
  4. Java for C and C++ Programmers QUI
  5. C.S.Horstmann, OO Design and Patterns 2nd ed. QUI
  6. W.H.Ford, W.R.Topp, Data Structures with Java OutOfPrint
  7. G.Pighizzini, M.Ferrari, Dai Fondamenti agli Oggetti: corso di programmazione in Java , 2008 Pearson Education Italia sito