Sperimentazioni
INDICE
Obiettivi delle sperimentazioni
Le sperimentazioni hanno
il duplice scopo di
-
approfondire la conoscenza degli algoritmi e delle
srutture dati presentate nel corso, attraverso l'implementazione
di alcuni di essi utilizzando il linguaggio di
programmazione
Java,
-
illustrare alcuni aspetti della programmazione Object Oriented.
Modalità di esecuzione delle sperimentazioni
Le sperimentazioni si effettuano in "Aula Unix", con
il seguente orario
(ATTENZIONE: NUOVO ORARIO PER LE LEZIONI IN LABORATORIO,
IN VIGORE DAL 18/11/2002):
-
TURNO 1:
Martedi' 14:00-16:00 [NON e' cambiato]
e
Mercoledi' 11:00-13:00 [NUOVO]
-
TURNO 2:
Lunedi' 11:00-13:00 [NUOVO]
e
Mercoledi' 14:00-16:00 [NUOVO]
Il docente assegna periodicamente un certo numero di esercizi.
Tali esercizi possono essere svolti in gruppi (di non più di 3 persone).
Tutti i gruppi (anche quelli costituiti da una singola persona) si devono
registrare inviando
(a cura di
un corrispondente scelto tra i membri del gruppo)
una mail con il seguente formato:
La registrazione è confermata dal docente, che rispondera'
alla mail, comunicando il "numero del gruppo" (un numero naturale N):
i gruppi di numero DISPARI faranno parte del TURNO 1
mentre i gruppi di numero PARI faranno parte del TURNO 2.
Le soluzioni di tali esercizi,
costituite da codice Java,
devono essere consegnate al docente
(a cura del corrispondete del gruppo)
in forma elettronica,
entro le date di consegna comunicate dal docente.
La consegna dell'esercizio "NomeEsercizio"
avviene inviando una mail nel seguente formato:
-
To: damiani@di.unito.it
-
Subject: Sper - Gruppo N - Consegna NomeEsercizio
-
Testo della mail:
Il testo della mail deve riportare
l'elenco dei files sorgente Java che rappresentano la soluzione
dell'esercizio.
Per ogni file deve esserci una breve descrizione (poche righe).
I files sorgente Java sono trasmessi in attachment alla mail.
A consegne avvenute
gli elaborati sono discussi con il docente
esclusivamente alle date fissate per i singoli appelli.
La discussione
avviene in laboratorio, e comprende compilazione ed esecuzione del codice
(su input forniti dal docente).
OGNI VARIAZIONE CHE SI DESIDERA APPORTARE
AL TESTO DEGLI ELABORATI CONSEGNATI
DEVE ESSERE COMUNICATA AL DOCENTE PRIMA DELL'INIZIO DELLA DISCUSSIONE.
Il voto riportato alla discussione ha validita' di un anno dalla data
della discussione, fa media con il voto riportato allo scritto, ed è
verbalizzato con esso.
Chi non rispetterà le scadenze fissate
dovrà svolgere (individualmente) degli esercizi integrativi.
I compiti assegnati durante l'aa 2002/2003 si intendono validi fino al
30 Novembre 2003.
Programma delle sperimentazioni ed esercizi assegnati
NOTA: il carico di lavoro associato alle sperimentazioni
è di 3 CFU e le sperimentazioni
si svolgono in laboratorio.
Quindi,
siccome
-
"1 CFU = 12 ore in laboratorio + 13 ore di studio/lavoro individuale", e
-
ogni settimana ci sono 4 ore di sperimentazioni
ogni studente dovrà dedicare (indicativamente)
circa 4 ore
di studio individuale a settimana agli argomenti introdotti
durante le 4 ore settimanali di sperimentazioni.
ATTENZIONE: e' disponibile on-line
(quasi) tutto il codice Java
degli esempi ed esercizi presentati nel libro di testo
.
ATTENZIONE: nel seguito oltre al libro di testo, faremo riferimento ai
seguenti libri:
-
[Horstmann1]
Concetti di Informatica e fondamenti di JAVA 2.
Apogeo.
(È il libro di testo utilizzato lo scorso anno per
"Programmazione I e Laboratorio"
e
"Programmazione II e Laboratorio").
-
[Horstmann2]
Concetti di Informatica e fondamenti di JAVA 2 - SECONDA EDIZIONE.
Apogeo.
(Prima o poi alcune copie di questo libro saranno disponibili in biblioteca
- al momento alcuni capitoli (purtroppo non quelli che ci
interessano di più) sono disponibili on-line GRATUITAMENTE al
sito Web del libro.)
SUGGERIMENTO:
imparate ad usare l'editor vim (iniziate con
questo semplice
tutorial in Italiano
(disponibile anche
in Inglese
)).
-
Lezione del 7/10/02 per entrambi i turni:
presentazione del "laboratorio Unix".
-
Lezione del 9/10/02 per il TURNO 2 (e del 14/10/02 per il TURNO 1)
-
Lezione del 10/10/02 per il TURNO 2 (e del 15/10/02 per il TURNO 1):
svolgimento degli esercizi assegnati durante la lezione precedente.
-
Lezione del 15/10/02 (1 ora in Aula D) per entrambi i turni:
-
richiamo delle nozioni introdotte nelle lezioni precedenti:
ereditarietà, polimorfismo, conversione di tipo;
-
presentazione della nozione di classe astratta.
COSA SI DEVE LEGGERE:
-
Capitolo 1 del libro, incluse le DOMANDE DI RIEPILOGO:
illustra nozioni già viste nei corsi del primo anno.
-
Capitolo 2 del libro, incluse le DOMANDE DI RIEPILOGO:
illustra nozioni già viste nei corsi del primo anno
e un nuovo argomento
visto a lezione
(la classe Vector).
-
Capitolo 3 del libro (fino al paragrafo 3.5 incluso):
illustra gli argomenti presentati in questa lezione.
-
Lezione del 16/10/02 per il TURNO 2 (e del 21/10/02 per il TURNO 1)
COSA SI DEVE LEGGERE:
-
Capitolo 3 del libro (dal paragrafo 3.6 incluso in avanti),
incluse le DOMANDE DI RIEPILOGO:
illustra gli argomenti presentati in questa lezione.
-
Lezione del 17/10/02 per il TURNO 2 (e del 22/10/02 per il TURNO 1):
-
competamento e CONSEGNA
degli esercizi STACK-1 e STACK-2,
-
inizio
svolgimento dell'esercizio MYSET
(assegnato durante la lezione precedente).
COSA SI DEVE LEGGERE
(prima di iniziare lo svolgimento dell'esercizio MYSET):
-
Capitolo 5 del libro,
incluse le DOMANDE DI RIEPILOGO:
contiene informazioni essenziali per lo svolgimento
dell'esercizio.
-
Lezione del 23/10/02 per il TURNO 2 (e del 28/10/02 per il TURNO 1):
-
svolgimento dell'esercizio MYSET.
-
ATTENZIONE:
-
per
ulteriori spiegazioni su
metodi della classe "Object",
"ereditarietà", "polimorfismo",
e costrutti
"abstract class", "interface",
"try...catch",
consultare [Horstmann1] (o, meglio, [Horstmann2];
-
durante questa lezione è stato illustrato
il costrutto "classe interna anonima", utilizzato nel
paragrafo 5.5 del libro.
-
Lezione del 24/10/02 per il TURNO 2 (e del 29/10/02 per il TURNO 1):
-
completamento e CONSEGNA dell'esercizio MYSET.
-
Lezione del 29/10/02 (2 ora in Aula D) per entrambi i turni.
ATTENZIONE:
tutto il codice relativo agli
esercizi (assegnati successivamente all'esercizio MYSET)
dovrà:
-
rispettare le "linee guida per la codifica" presentate nell'Appendice 1
di [Horstmann1] o di [Horstmann2] (NOTA: attualmente questa appendice è
discponibile on-line GRATUITAMENTE al sito Web di [Horstmann2]),
-
essere corredato di documentazione generata usando la utili javadoc
(presentata a pagina 303 di [Horstmann1]).
COSA SI DEVE LEGGERE:
-
Capitolo 8 del libro
-
dall'inizio fino all'Esempio 8.4 (ESCLUSO),
-
dal paragrafo 8.7 (INCLUSO) fino alle DOMANDE DI RIEPILOGO (INCLUSE)
-
Capitolo 15 del libro,
incluse le DOMANDE DI RIEPILOGO:
LETTURE CONSIGLIATE (possono essere di aiuto, perchè
le spiegazioni sono particolarmente chiare):
-
Capitolo 17 di [Horstmann2].
-
Lezione del 31/10/02 per il TURNO 2 (e del 5/11/02 per il TURNO 1):
COSA SI DEVE LEGGERE:
-
Capitolo 6 del libro
-
dall'inizio fino allla Sezione 6.3 (ESCLUSA),
-
LE DOMANDE DI RIEPILOGO.
-
Capitolo 7 del libro
-
dall'inizio fino allla Sezione 7.4 (ESCLUSA),
-
LE DOMANDE DI RIEPILOGO.
LETTURE CONSIGLIATE (possono essere di aiuto, perchè
le spiegazioni sono particolarmente chiare):
-
Capitolo 18 di [Horstmann2].
-
Lezione del 6/11/02 per il TURNO 2 (e dell'11/11/02 per il TURNO 1):
svolgimento dell'esercizio QUEUE.
-
Lezione del 7/11/02 per il TURNO 2 (e del 12/11/02 per il TURNO 1):
svolgimento dell'esercizio QUEUE.
La CONSEGNA DELL'ESERCIZIO QUEUE e' dovuta:
-
entro Domenica 17 per il TURNO 2
-
entro Venerdi' 22 per il TURNO 1.
ATTENZIONE: IL 18/11/2002 ENTRA IN VIGORE IL NUOVO ORARIO
PER LE LEZIONI IN LABORATORIO !!!
ATTENZIONE: LA SETTIMANA DEL
18/11/2002 IL TURNO 2 NON FA LEZIONE (IN QUESTO MODO RECUPERA LE DUE LEZIONI
IN PIU' CHE HA FATTO AD INIZIO CORSO)
-
Lezione del 13/11/02 [Mercoledi', ancora VECCHIO ORARIO] per il TURNO 2
(e del 19/11/02 [Martedi', gia' NUOVO ORARIO] per il TURNO 1)
:
COSA SI DEVE LEGGERE:
-
Paragrafo 3.4 libro di testo.
-
Paragrafi 12.5 e 12.6 del libro di testo.
-
Lezione del 14/11/02 [Giovedi', ancora VECCHIO ORARIO]
per il TURNO 2
(e del 20/11/02 [Mercoledi' mattina, gia' NUOVO ORARIO]
per il TURNO 1):
-
Lezione del 25/11/02 [Lunedi', NUOVO ORARIO]
per il TURNO 2
(e del 26/11/02 [Martedi', NUOVO ORARIO]
per il TURNO 1):
COSA SI DEVE LEGGERE:
-
Capitoli 8 e 9 di [Horstmann1].
-
Capitolo 12 del libro di testo.
-
Lezione del 27/11/02 [Mercoledi' pomeriggio , NUOVO ORARIO]
per il TURNO 2
(e del 27/11/02 [Mercoledi' mattina, NUOVO ORARIO]
per il TURNO 1):
ATTENZIONE: all'inizio della prossima lezione OGNI GRUPPO DI LABORATORIO
dovra' consegnare una stampa degli esercizi GIA' CONSEGNATI PER E-MAIL
fino a questo momento (cioe' fino a CCCQueue incluso).
Su ogni stampa di file .java dovranno essere chiaramente indicati:
il nome dell'esercizio, il numero del gruppo, e i componenti del gruppo.
-
Lezione del 2/12/02 [Lunedi']
per il TURNO 2
(e del 3/12/02 [Martedi']
per il TURNO 1):
-
Lezione del 4/12/02 [Mercoledi' pomeriggio]
per il TURNO 2
(e del 4/12/02 [Mercoledi' mattina]
per il TURNO 1):
|