01.11.2012 Views

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!