Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Laboratorio</strong> <strong>di</strong> algoritmi<br />
Docente Roberto Posenato − supplente<br />
Cre<strong>di</strong>ti 2<br />
Periodo 2º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~posenato/Courses/Lasd2001<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> raffinare le conoscenze dello studente circa la pratica della <strong>programmazione</strong> a oggetti<br />
soprattutto nell'implementazione <strong>di</strong> algoritmi e strutture dati avanzate.<br />
Il linguaggio con il quale si svolgeranno le esercitazioni è il Java <strong>di</strong> cui si assume una conoscenza <strong>di</strong> base.<br />
Attività formative<br />
Il corso viene svolto in 30 ore <strong>di</strong> esercitazione in laboratorio. Si ricorda che il corso vale 2 CFU, per cui sono<br />
previste ulteriori 20 ore <strong>di</strong> lavoro in<strong>di</strong>viduale da svolgersi presso i laboratori <strong>di</strong>dattici.<br />
Programma del corso<br />
1. Uso del meccanismo dell'Interfaccia. Esempio <strong>di</strong> applicazione con l'implementazione dell'ADT<br />
Lista, Coda e Pila.<br />
2. Uso dell'interfaccia Comparable. Implementazione degli algoritmi <strong>di</strong> or<strong>di</strong>namento per inserimento<br />
(InsertionSort) e per passo calante (ShellSort).<br />
3. Tecniche <strong>di</strong> confronto <strong>di</strong> implementazioni. Confronto tra due implementazioni <strong>di</strong> algoritmi <strong>di</strong><br />
or<strong>di</strong>namento: QuickSort e MergeSort.<br />
4. Implementazioni dell'ADT HashTable.<br />
5. Implementazione <strong>di</strong> un algoritmo <strong>di</strong> <strong>programmazione</strong> <strong>di</strong>namica: ricerca massima sottosequenza<br />
comune (MaxSSC).<br />
6. Implementazioni dell'ADT Albero e Albero <strong>di</strong> ricerca binario. Uso dell'interfaccia Iterator.<br />
Implementazioni meto<strong>di</strong> <strong>di</strong> visita.<br />
7. Implementazione <strong>di</strong> un algoritmo greedy: algoritmo <strong>di</strong> Kruskal.<br />
L'esame <strong>di</strong> laboratorio <strong>di</strong> algoritmi e strutture dati è in concomitanza con l'esame <strong>di</strong> algoritmi e strutture dati.<br />
Le modalià sono quin<strong>di</strong> spiegate nella pagina del corso <strong>di</strong> Algoritmi e strutture dati.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
Adam Drozdek Algoritmi e strutture dati in Java Apogeo 2001 8873038956<br />
<strong>Laboratorio</strong> <strong>di</strong> architettura degli elaboratori<br />
Docente Franco Fummi − titolare<br />
Cre<strong>di</strong>ti 2<br />
Periodo 2º 3º quadrimestre