Diario e materiale delle lezioni
Il materiale integrativo non sostituisce i contenuti del libro di testo, bensì è fornito, quando possibile, con l'intenzione di aiutare lo studente a seguire le lezioni
e a colmare lacune derivanti da eventuali assenze. E' importante precisare che esso non è esente da errori ed imperfezioni.
La collaborazione degli studenti che vorranno segnalarmeli non solo è benvenuta, ma auspicata.
- 1) 06.10.2014
Presentazione del corso.
Richiami di Java.
Focus su: struttura di controllo switch, istruzioni break e continue.
- 2) 08.10.2014
Richiami di Java (continua).
Focus su: inizializzatori d'istanza e statico, classi astratte.
- 3) 13.10.2014
Concetti di Java:
Modificatori fondamentali, gestione dei package.
- 4) 15.10.2014
Esercitazione: inizializzatori.
Ciclo di sviluppo di codice algoritmico (rif. [a] Cap.1)
- 5) 20.10.2014
Classi String e Scanner.
Esercitazione: TestStringhe.java
Oltre le classi (slides 1-10):
Le interfacce. Esempio: l'interfaccia AlgoDup.
- 6) 22.10.2014
Esercitazione: ScannerUse.java
Oltre le classi (continua - slides 11-51): Le interfacce: AlgoDup, overriding del metodo equals();
Figure; Volante; Ordinabile, overriding del metodo maggioreDi().
Tipi di dati astratti e strutture dati: l'interfaccia Employee. Classi wrapper.
- 7) 27.10.2014
Esercitazione: Ordinabile (versione per interi);
HomeWork-correzione in aula.
Le espressioni regolari.
Le librerie standard. Esempio:
Finestra con bottone.
Java Collections Framework (slides 1-8)
- 8) 29.10.2014 (ore 11-13)
Java Collections Framework (slides 9--56)
I tipi parametrici. Le interfacce Iterator, Iterable e Collection. Gli iteratori e il ciclo for-each.
L'interfaccia List e le classi che la implementano (ArrayList, LinkedList).
Esercitazione:
la classe RandomList.
- 9) 03.11.2014
Strutture dati elementari: tecniche per rappresentare
collezioni di oggetti, strutture indicizzate e strutture collegate (rif. [a] §§2.1--2.3).
- 10) 05.11.2014
ADT stack e queue (rif. [a] §§2.4-2.5).
Interfacce Stack e Queue e relative implementazioni in Java mediante array e liste collegate semplici.
- 11) 10.11.2014
Applicazioni: conversione di un'espressione da forma infissa a forma postfissa; valutazione di un'espressione postfissa.
Il linguaggio Postscript e relativi esempi di file PS.
Esercitazione: StackExample.java (uso della classe Stack del package java.util).
Definizione di una classe (my)LinkedList: (una classe-giocattolo!)
per una lista collegata semplice di oggetti generici.
- 12) 12.11.2014
Esercitazione: svolgimento di esercizi
su liste collegate semplici e ricorsione usando la classe (my)LinkedLIst.
- 13) 17.11.2014
Esercitazione (continua): Uso della classe LinkedList (RandomList.java).
Alberi binari: definizione e proprietà; le classi BinaryNode e BinaryTree.
- 14) 19.11.2014
Alberi binari (continua): la classe BinaryTree.
Visite di alberi: visite ricorsive in profondità (preorder, inorder, postorder).
- 15) 24.11.2014
Visite di alberi (continua):
visite iterative in profondità ed in ampiezza.
- 16-17) 26.11.2014
Esercitazione preparatoria per la prima prova parziale.
Ripasso: la programmazione generica.
- 02.12.2014
Prova intermedia: ore 15:30, aula A1.6
- 18) 15.12.2014
Alberi binari di ricerca (BST): definizione e proprietà; implementazione in Java delle operazioni di ricerca, inserimento, cancellazione, ricerca e cancellazione del minimo.
- 19) 17.12.2014
Alberi di ricerca bilanciati:
Alberi 2-3-4 bilanciati e Alberi Red-Black (NB. slides riviste a pag.19, corretto albero RB)
- Interruzione dal 22.12.2014 al 06.01.2015
- 20-21) 07.01.2015
Ordinamento di array. Richiami sugli algoritmi di ordinamento e relativa
implementazione
(insertionSort, selectionSort, bubbleSort, mergeSort, quickSort).
Esercitazione: Misura delle prestazioni degli algoritmi di ordinamento di array di interi.
- 22) 12.01.2015
La struttura dati heap:
la classe BinaryHeap. Costruzione top-down e bottom-up di uno heap. Heapsort.
- 23-24) 14.01.2015
JCF (continua):
L'interfaccia Queue e la classe PriorityQueue; Le interfacce Set e SortedSet e la classe TreeSet;
le classi Arrays e Collections ed il metodo sort(); l'interfaccia Map e la classe treeMap.
- 25) 19.01.2015
Grafi: definizioni e terminologia;
Algoritmi per grafi: iteratori in ampiezza ed in profondità,
verifica della connessione, costruzione di un minimo albero ricoprente (Prim) e
di un albero dei cammini minimi a sorgente singola (Dijkstra).
La classe Network: specifiche dei metodi e campi della classe.
- 26-27) 21.01.2015
La classe Network: definizione dei metodi.
Esercitazione preparatoria per la seconda prova parziale.
[a] Testo di riferimento:
Progetto di algoritmi e strutture dati in Java.
Autori: C. Demetrescu, U. Ferraro Petrillo, I. Finocchi, G. F. Italiano (Ed. McGraw-Hill)
[b] Testo consigliato:
Algoritmi e strutture dati in Java. Autore: W. J. Collins (Ed. Maggioli)
Altri testi (in inglese):
Data Structures and the Java Collections Framework. Author: W. J. COllins
Data Structures & Problem Solving Using Java. Author: M. A. Weiss
Data Structures and Algorithm Analysis in Java. Author: M. A. Weiss
Risorse
Avvisi
- Risultati prove scritte del 14.07.2015
16.07.2015
Sono disponibili i risultati delle prove scritte
di martedì 14.07.2015. Le prove orali di Laboratorio si svolgeranno martedì 21/7 alle ore 10 presso lo studio della docente.
Le prove orali di Teoria si svolgeranno martedì 21/7 alle ore 14 presso lo studio del Prof. Proietti.
Gli studenti sono pregati di comunicare via email ai docenti l'intenzione di svolgere la/e prova/e orale/i (o prendere visione
del compito).
- 24.02.2015
Si avvisa che le prove orali e/o verbalizzazioni di entrambi i moduli
di ASDL si svolgeranno giovedì 26 febbraio alle ore 10 in aula 0.4 - Coppito 1,
anziché presso lo studio dei docenti.
Gli studenti che hanno conseguito una valutazione insufficiente alla prova scritta
di laboratorio, possono fissare per email un appuntamento con la docente per
prendere visione del compito.
- 23.02.2015
Risultati
delle prove d'esame di Algoritmi e Strutture Dati con Laboratorio del 18.02.2015.
Le prove orali e/o verbalizzazioni si svolgeranno giovedì 26 febbraio alle ore 10 presso lo studio
dei docenti. Si ricorda che le prove orali di laboratorio, sia obbligatorie che facoltative,
dovranno essere svolte prima di quelle di teoria.
Gli studenti che intendono sostenere la prova orale facoltativa di Lab. sono pregati di prenotarsi
contattando per email la docente.
- 09.02.2015
Risultati
delle prove d'esame di Algoritmi e Strutture Dati con Laboratorio del 03.02.2015.
Le prove orali e/o verbalizzazioni si svolgeranno mercoledì 11 febbraio alle ore 11 presso lo studio
della docente. Gli studenti che intendono sostenere la prova orale di Lab. sono pregati di prenotarsi
contattando per email la docente.
- 09.02.2015
Risultati
della II prova parziale di Laboratorio del 03.02.2015. Gli altri esiti saranno pubblicati in giornata.
- 28.01.2015
Chiarimento sulla modalità d'esame: durante la prova scritta di Laboratorio è
possibile consultare un libro di testo e la documentazione Java.
- 21.01.2015
Al termine del semestre didattico il ricevimento studenti sarà effettuato su
appuntamento da fissare per email: giovanna.melideo@univaq.it.
Per richieste di chiarimenti o spiegazioni a risposta rapida è sempre possibile usare
la posta elettronica.
- 21.01.2015
Si avvisa che la docente effettuerà il ricevimento studenti il giorno lunedì 26 gennaio,
ore 10-12.
- 19.01.2015
Si ricorda che mercoledì 21 gennaio 2015, oltre alla lezione pomeridiana prevista
dal calendario didattico, si svolgerà una lezione di recupero alle ore 11:00-13:00, aula A1.6.
- 12.01.2015
Si ricorda che mercoledì 14 gennaio 2015, oltre alla lezione pomeridiana prevista
dal calendario didattico, si svolgerà una lezione di recupero alle ore 11:00-13:00, aula A1.6.
- 22.12.2014
Si avvisa che mercoledì 7 gennaio 2015, oltre alla lezione pomeridiana prevista
dal calendario didattico, si svolgerà una lezione di recupero alle ore 11:00-13:00, aula A1.6.
- 12.12.2014
Risultati
della prova parziale di Laboratorio del 02.12.2014.
- 05.11.2014
Le prove parziali di Algoritmi e Strutture Dati con Laboratorio si svolgeranno martedì 2 dicembre
alle ore 15:30.
- 23.10.2014
La lezione di mercoledì 29.10.2014 non potrà essere svolta alle ore 14 come da calendario didattico
a causa della sovrapposizione della suddetta lezione con il Consiglio di Dipartimento.
La lezione sarà pertanto anticipata alle ore 11, sempre in aula A1.6 del Blocco 0.
- 24.09.2014
Le lezioni di LASD inizieranno lunedì 06.10.2014 secondo l'orario previsto dal calendario didattico.
Solo in circostanze particolari potrà svolgersi una lezione il martedì mattina alle ore 9.
La docente ne darà eventualmente preavviso a lezione e sulla pagina del corso.
-
Pagina di LASD A.A. 2013/2014