I due moduli integrati di "Programmazione II e Lab." approfondiscono alcuni aspetti fondamentali legati alle metodologie di sviluppo ed analisi di algoritmi, organizzazione logica dei dati e relativa
implementazione nel linguaggio C. Essi inoltre introducono i concetti fondamentali della programmazione ad oggetti nel linguaggio C++.
Conoscenza e capacità di comprensione
Gli studenti devono dimostrare di conoscere e saper comprendere:
• concetti di base della metodologia di sviluppo di algoritmi e delle strutture dati astratte;
• il linguaggio di programmazione C (almeno a livello elementare).
Capacità di applicare conoscenza e comprensione
Gli studenti devono dimostrare di:
• saper utilizzare la propria conoscenza acquisita per progettare algoritmi che risolvano particolari problemi, anche quando essi appaiono in contesti concreti e in altre discipline applicative;
• saper usare in modo consapevole il linguaggio C per implementare un algoritmo.
Tali capacità si estrinsecano anche in un uso approfondito e consapevole degli strumenti di calcolo e dei laboratori informatici avanzati.
Autonomia di giudizio
Gli studenti devono essere in grado di sapere valutare in maniera autonoma i risultati prodotti dal software. Inoltre, devono sapere individuare, anche utilizzando repository on-line, gli algoritmi e i software più adatti per risolvere uno specifico problema.
Abilità comunicative
Gli studenti devono essere in grado di redigere, anche lavorando in gruppo, una relazione di presentazione di un algoritmo, di commentarne i risultati e di documentare la sua implementazione in C servendosi di strumenti avanzati di scrittura/documentazione. Inoltre gli studenti devono essere in grado di usare correttamente la terminologia della Programmazione e delle Strutture dati, anche in lingua inglese.
Capacità di apprendimento
Gli studenti devono essere in grado di aggiornarsi in modo autonomo e di approfondire argomenti e applicazioni specifiche delle Tecniche di Programmazione, anche accedendo a banche dati, repository on-line di software e altre modalità messe a disposizione dalla rete.