| | | corso | | | | |
Laboratorio di programmazione di strutture dati
Codice: | AA537 | Crediti: | 3 | Semestre: | 1 | Sigla: | LSD | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Fabio Gadducci
Tel. 0502212716Prerequisiti
Prerequisito SOSTANZIALE č essere in grado di editare, compilare ed eseguire un programma Java.
Obiettivi di apprendimento
Il corso ha lo scopo di introdurre gli studenti ai principi di base
della programmazione ad oggetti, mediante l'uso del linguaggio JAVA. Le
conoscenza acquisite vengono poi utilizzate per la risoluzione di
semplici problemi connessi all'uso di alcune strutture dati elementari
(in particolare pile, code, liste, insiemi, e alberi). L'ambiente di
programmazione č basato sul sistema operativo Linux. Il corso č la
naturale prosecuzione del corso di Laboratorio di
Introduzione alla Programmazione (LIP), ma l'aver sostenuto questo
esame
non č comunque un prerequisito formale.
Conoscenze.
Descrizione
Il corso affronta la problematica della programmazione in Java, con
particolare enfasi sulla sua valenza come linguaggio per la
programmazione di strutture dati. Tutta l'attivitā di laboratorio č svolta in
ambiente Linux e il linguaggio di programmazione utilizzato per gli
esercizi č Java 1.4.2, del quale verranno ricordati i concetti essenziali.
Alla fine del corso gli studenti avranno acquisito le basi necessarie
alla scrittura di semplici programmi che manipolano strutture dati.
Indicazioni metodologiche
Il corso si svolge nella prima metā
del primo semestre (22 settembre - 31 ottobre 2008). Le ore settimanali
di didattica frontale sono sei, ripartite in due ore di teoria e
quattro ore di esercitazioni.
Nelle ore di teoria il docente presenta gli argomenti del programma. Le
ore di teoria si tengono in un'aula grande (Aula 2) dotata di
proiettore.
Le ore di esercitazione si svolgono in una aula informatizzata
(Laboratorio) dove gli studenti possono esercitarsi al calcolatore
risolvendo individualmente esercizi di programmazione. Il docente sarā
presente in aula per fornire supporto costante agli studenti.
Data la limitata capienza dell'aula informatizzata (circa 20
calcolatori), gli studenti del corso verranno eventualmente divisi in
due gruppi, e le esercitazioni verranno svolte separatamente dai due
gruppi (2 ore per ciascun gruppo).
Verso la fine del corso verrā impiegata una ora di teoria per la
presentazione del progetto, mentre alcune ore di esercitazione saranno
usate per specifici approfondimenti riguardanti lo sviluppo del
progetto.
Il corso prevede l'obbligo di frequenza, da cui sono esentati solo gli studenti lavoratori.
Gli
studenti che non hanno frequentato l'80% delle lezioni e esercitazioni
non verranno valutati, e dovranno frequentare nuovamente il corso di
Laboratorio di Programmazione di Strutture Dati nel prossimo anno
accademico.
Gli studenti lavoratori che non possono frequentare con regolaritā il
corso devono contattare il docente ALL'INIZIO del corso. Per essi non
vale l'obbligo di frequenza, ma dovranno presentare al docente una
dichiarazione del datore di lavoro.
Programma
- Tipi di dato astratto e interfacce
- Strutture dati lineari (Pile, Code, Liste)
- Alberi binari e Alberi binari di ricerca
- Insiemi
Ore lezione: | 10 | | Ore laboratorio: | 20 | | |
Bibliografia
Libro di testo- Cay S. Hortsmann, Concetti di fondamenti di Java - Seconda edizione, Apogeo, 2002.
Attenzione:
la terza e la quarta edizione sono basate su Java 5 e 6,
rispettivamente, che introducono nuovi costrutti rispetto a Java 1.4.
Testo di consultazione
- Bruce Eckel, Thinking in Java - Seconda edizione, Apogeo, 2003.
Modalità di esame
Il corso prevede come prova lo svolgimento di un progetto, e la
valutazione del corso sarā basata sia sulla partecipazione dello
studente al corso che sulla discussione del progetto.
Coloro che non dovessero presentare un elaborato ritenuto
accettabile entro la data limite stabilita dal docente dovranno
presentare nuovamente il progetto nel prossimo anno accademico, ma
senza l'obbligo di frequentare nuovamente il corso.