Esci dai Frame

  PROGR. OGGETTI E CONCORRENTE Docente: Giovanni Cantone, Gianfranco Pesce e  Anna Lomartire
    Programma del Corso
 
PROGRAMMA PREVISTO Vedere file allegato

POGRAMMA FINALE Vedere file allegato

LIBRI
Timothy BUDD: Understanding Object-Oriented Programming with Java, (Updated Edition), Addison-Wesley Longman, ISBN: 0-201-61273-9, 1999. ftp://ftp.cs.orst.edu/pub/budd/java/revised/ReadMe.html
Paolo ANCILOTTI e Maurelio BOARI: Principi e tecniche di programmazione concorrente, UTET.
Per consultazione:
Timothy BUDD: An Introduction to Object Oriented Programming (3rd Edition), Addison Wesley, Reading, Massachusetts, 2002. ftp://ftp.cs.orst.edu/pub/budd/oopintro/3rdEdition/info.html
Appunti dalle lezioni
Altro: vedere sezione ''links''

ISCRIZIONE AI CORSI L'iscriziine e' condizione necessaria per potersi registrare alle prove. Inviare mail a corsoPOC@list.uniroma2.it entro 21 gg. dalla data di inizio del corso (9.12.2002) inserendo in campo Subject la parola inglese ''subscribe'' (senza apici!). Confermare l'iscrizione secondo le istruzioni contenute nella conseguente richiesta elettronica. Chi non fosse dotato di e-mail si rivolga al docente il classe nei termini sopra indicati

ESERCIZI: si richiede lo sviluppo e, su richiesta, la consegna di esercizi, almeno uno per ciascuno dei gruppi di esercizi assegnati in classe.

TEST: partecipazione a un possibile test di laboratorio in itinere, anche fuori sede.

PROGETTO: La discussione del progetto assegnato e' obbligatoria, facoltativa o non dovuta, in relazione al voto ottenuto agli scritti. Per le sessioni di settembre non e' prevista la valutazione del progetto, salvo che i risultati degli scritti non pongano lo studente in condizioni di aspirare a 30: per conseguire la verbalizzazione di un tale risultato, la presentazione e discussione del progetto e' obbligatoria, qualunque sia la sessione d'esami.

VALUTAZIONE. Richiede il superamento, con almeno 18/30, di due prove, una prima di Programmazione Orientata agli Oggetti,POO, una seconda di Programmazione Concorrente, PC, ed e' basata sui relativi risultati, oltre che su quelli della prova orale. La qualita' degli esercizi svolti, nonche' il risultato dell'eventuale test e la discussione del progetto, ove ammessa, contribuiranno alla determinazione del voto finale.



PROGRESSIONE DEL CORSO
(Ult.agg. 20-12-2002)
Stato del corso base 09-12-2002: APERTO
Stato del corso base 14-02-2003: CHIUSO
Stato del corso bis 09-12-2002: APERTO
Stato del corso bis 14-02-2003: CHIUSO
Stato iscrizione ai corsi: 09-12-2002 APERTO
Stato iscrizione ai corsi: 25-01-2003 CHIUSO
Stato prenotazione prova in itinere: CHIUSO 23.01.2003 20:00
Stato prenotazione prova finale: APERTO
Stato Consegna esercizi: DA APRIRE
01.02.2003 Stato Consegna esercizi: APERTO
Stato prenotazione prova finale: APERTO
Stato prenotazioni prima seduta sessione riservata: APERTO
CHIUSURA DELLE PRENOTAZIONI per prima seduta sessione riservata lunedi' 17.02.2003: prenotazione elettronica, scadenza ore 23:59, prenotazione manuale direttamente al docente, ore 16:00
SESSIONE RISERVATA
Stato prenotazioni prima seduta sessione riservata: CHIUSO
Stato prenotazioni seconda seduta sessione riservata: APERTO
prenotazione entro 7 gg. antecedenti seduta; prenotazione elettronica come per prima seduta riservata, prenotazione manuale direttamente al docente, ore 16:00
Stato prenotazioni seconda seduta sessione riservata: CHIUSO
SESSIONE DI RECUPERO
13.05.03 Stato prenotazioni prima seduta sessione recupero (4 settembre): DA APRIRE
10.07.03 Stato prenotazioni prima seduta sessione recupero (4 settembre): APERTO
4.09.03 12:00 Stato prenotazioni ultima seduta sessione recupero (12 settembre): CHIUSO
14.09.03 Risultati sedute sessione di recupero: PUBBLICATI

LEZIONI
09,10 e 12-12-2002: Introduzione a OOP, oggetti, classi
16, 17 e 19-12-2002: Relazioni
21-12-2002: Tipi, classi, variabili e valori. Tipi statici e tipi dinamici. Binding statico, statico-dinamico e dinamico-dinamico.
22-12-2002: Ereditarieta', Classi astratte, Oggetti statici e dinamici in C++; paragone con Java e Smalltalk. Polimorfismo e suoi tipi. Polimorfismo statico. Template C++. Overloading; binding. Polimorfismo dinamico: ereditarieta' e binding dinamico. Overriding. Chiamata a funzione, scambio di parametri, invio di messaggi in C++. Differenze con Java e con Smalltalk.
07-01-2003 Membri statici Java - main e suoi argomenti - Librerie e packages.
09-01-2003: AWT, Frame e loro impiego in applicazioni paradigmatiche. Da GiocoDiBiglia a GiocoDiBiglie. Ereditarieta' da Frame e impiego di Rectangle. Concetto di Thread.
13-01-2003: Eccezioni e loro trattamento. Applicazione a Java. 16.01.2003: Metodi e funzioni. Chiamate di funzioni e metodi. Scambio di parametri nei vari modelli (Registri, Aree parametriche, Copia, Stack). Scambio di parametri tipo classe in C++ e Java. Interfacce Java. Specifica ed ereditarieta' multipla. Threading via interface Runnable in Java.
21.01.2003 TBI
23.01.2003 TBI
25.01.2003 Prova Intermedia
27.01.2003 Corso 1: assenza(recupero di sabato u.s.)
28.01.2003 Eventi e loro trattamento in Java
30.01.2003. Assenza per impossibilita' raggiungere sede casua strada blocata per neve-grandine.
03-02.2002 Eventi in Java. Lock, lock() e unlock() a livello di macchina base.
04-02-20003 Dalla programmazione sequenziale alla programmazine concorrente. Concetto di Processo. Processi pesanti e leggeri. Modelli. Modello ad ambiente globale.
05-06-2003 Modello base di Macchina, Modello multiprocessore, Arbitro di memoria, Test&set, ruole delle intyerruzioni, Catenaccio (Lock)e sua implementazione, vantaggi e svantaggi
06-02-2003 Da Catenacci a Stati di un processo, a semafori binari, interi, generalizzati; loro impiego per l'accesso in mutua esclusione; proposta di esercizio per gestione di 1) - sincronizzazione (un produttore un consumatore, senza bufferizzazione), 2) un produttore/piu' consumatori senza bufferizzazione, 3) un produttore piu' consumatori con bufferizzazione, 4) caso generale
07-02-2003 Pubblicazione risultati prova in itinere e convocazioni per prova finale.
10-02-2003 Regioni critiche, Monitor di vari tipi, incluso Java, e loro implementazione
11-02-2003 Monitor con attesa interna in stato urgente o, rispettivamente, pendente, e loro implementazione. Produttore-Consumatore con una sola slot
13-02-2003 Produttori-Consumatori tramite buffer a N slot. Discussione e implementazioni varie.
14-02-2002 Testing statistico risultati prova intermedia.
20-02-2002 Domande e risposte in vista della prima prova di recupero