Obiettivi formativi
Il corso approfondisce gli algoritmi e strutture dati introdotti nel corso omonimo e prevede l'implementazione guidata degli aspetti algoritmici.
Con riferimento agli Indicatori di Dublino:
Conoscenza e capacità di comprensione
Il corso richiama le conoscenze acquisite e pone lo studente di fronte alla comprensione delle stesse, nel momento della progettazione e implementazione pratica degli algoritmi e strutture dati
Il testo di riferimento è in italiano (esiste anche la versione inglese). Viene altresì utilizzata durante le lezioni la terminologia in lingua inglese come avviamento alla consultazione di letteratura scientifica internazionale.
Capacità di applicare conoscenza e comprensione
Le conoscenze teoriche acquisite nel corso di algoritmi e strutture dati vengono utilizzate per realizzare autonomamente implementazioni di casi pratici di uso. Le esercitazioni, parte fondamentale del corso, sono incentrate sulla risoluzione di esercizi e problemi. I metodi risolutivi vengono presentati sotto forma algoritmica, sviluppando negli studenti la capacità di strutturare e adattare algoritmi noti agli scopi specifici.
Autonomia di giudizio
Gli esercizi, che vengono proposti relativamente alla parte teorica svolta a lezione, possono essere risolti individualmente o in piccoli gruppi. Il confronto con i compagni di corso, nel lavoro a casa o durante gli svolgimenti in aula, favorisce lo sviluppo di capacità specifiche per poter a chiarire ai compagni o ai docenti le proprie argomentazioni. Spesso gli esercizi proposti possono essere risolti in modi molto diversi e l'ascolto delle soluzioni proposte da altri permette di sviluppare la capacità di individuare strutture comuni, al di là delle apparenti differenze superficiali.
Abilità comunicative
Le discussioni sui diversi metodi per risolvere i problemi proposti durante gli esercizi di laboratorio consentono di migliorare le capacità di comunicazione. Vengono inoltre abitualmente utilizzate durante le spiegazioni (ed esplicitamente evidenziate in classe) alcune modalità di comunicazione specifiche della tecnologia informatica.
Capacità di apprendimento
La presentazione degli algoritmi e strutture dati e la loro implementazione in un linguaggio ad alto livello non ad oggetti, permette di confrontarsi con i concetti base degli algoritmi e strutture dati, in particolare: la progettazione di una struttura dati, la comprensione profonda degli algoritmi classici dell'informatica e la progettazione di varianti, la comprensione della complessita' computaizonale. Le conoscenze così acquisite non sono mai rigide e definitive, ma sono perfettamente adattabili ad ogni evoluzione e cambiamento di prospettiva e di contesto.