PROGRAMMAZIONE II (A) [Cognomi A-D] (aa 24/25)

Questo insegnamento concorre agli obiettivi formativi specifici dell'ambito delle conoscenze di programmazione del Corso di Laurea in Informatica (L31) e fa parte dell’area Informatica caratterizzante. Permette a studenti e studentesse di proseguire il percorso di introduzione alla programmazione, iniziato con Programmazione I, con l'obiettivo di approfondire concetti di informatica di base e in particolare il paradigma di programmazione imperativa, affrontando in maniera sistematica l’allocazione dinamica di dati in memoria principale e il relativo accesso, le strutture dati ricorsive, la ricorsione e fornendo un’introduzione alla strutturazione del codice in più file. In particolare, l’insegnamento mostrerà come definire ed utilizzare semplici strutture dati (liste, alberi binari, pile, code), i meccanismi di base per favorire riuso e modularità del software, la gestione di casi eccezionali, quali per esempio input malformati, così come alcune librerie fondamentali per la programmazione in C. Si darà particolare enfasi agli aspetti di buona progettazione del software, utilizzando concetti presi a prestito dall'ingegneria del software e formalismi grafici.