Programmazione avanzata - (ex Informatica III - modulo Programmazione)

Il C.I. PROGRAMMAZIONE AVANZATA + PROGETTAZIONE,ALGORITMI E COMPUTABILITA’ è diviso in due parti. Questa è la parte di programmazione avanzata. Il corso prima dell’AA 2122 si chiamava informatica III e questo modulo di programmazione

Informazioni ufficiali

Per ulteriori informazioni (ad esempio programma ufficiale) dal sito ufficiale di UniBG: pagina ufficile per il corso integrato

Materiale a disposizione

Nell’area restricted potete trovare:

Altro materiale didattico

Registro

Il registro lo tengo su teams.

Studenti anni passati

Esame e progettini

L’esame è diviso in una parte scritta su PC e una orale. La parte scritta è divisa in una parte con alcune domande tipo quiz (circa 5 domande) e una parte sempre a PC con degli esercizi in cui dovete essenzialmente scrivere piccoli programmini o risolvere piccoli problemi (e disegnare un record di attivazione) (vedi temi d’esame). Le due prove su calcolatore sono nella stessa giornata una a seguire l’altra. La durata è di circa 2h30/3h.

L’orale, che è dopo circa una settimana, consiste in circa tre domande (su argomenti teorici o su parti dello scritto) e la visione dei progettini. Per la prova orale bisogna infatti portare dei progettini individuali su:

C++
progetto di una piccola applicazione in cui si utilizzano i costrutti studiati del C++: costruttore e distruttore, campi pubblici e privati, membri virtual e non, overloading, ereditarietà multipla, STL (con qualche struttura dati e algoritmo). Valutazione: complessità e completezza dell’applicazione. Uso di costrutti non obbligatori come overloading degli operatori, templates, … Dall’AA 20/21 verranno valutati anche i puntatori smart in C++ (e QT per l’AA 2021 - facoltativo per AA 2122).
cyclone
non più dall’AA 20/21 piccola applicazione (unico file) in cui usi array, stringhe o cose del genere. Ad esempio porting di una applicazione C in cyclone con una breve descrizione dei cambiamenti operati al codice C. Valutazione: uso dei costrutti di cyclone (ad esempio fat pointers). Dall’AA 20/21 non è più richiesto.
Abstract State Machines
non più dall’AA 21/22 piccola specifica in ASM (ad esempio scrivi la specifica di una parte del sistema che hai programmato con C++ in ASM). Valutazione: uso dei costrutti (domini, costruttori di regole) di AsmetaL. Anche l’uso di scenario con Avalla verrà valutato. La specifica dovrà simulare correttamente.
SCALA
non più dall’AA 21/22una piccola applicazione usando Scala (con enfasi sui costrutti object oriented - ad esempio map e reduce potrebbero non esserci, ma classi e trait meglio che ci siano) Valutazione: uso (corretto) dei costrutti (specie OO) di scala. Aall’AA 21/22 questa parte è sostituita con un progetto facoltativo (ma verrà valutato) in Haskell

I progetti vanno portati quando sostenete l’orale.
Documentazione Per ognuno dei progetti dovete scrivere una breve relazione di progetto (da circa 2 a 6 pagine a secondo del progetto). La documentazione va portata possibilemente *stampata** se l’esame è in presenza, in modo da sfogliarla (la documentazione soltanto, non il codice). Il codice va messo anche su supporto elettronico (chiavetta USB) o altro (sito drive, github…). Copierò i vostri progetti sul mio PC per farli funzionare (però potete anche portare/usare il vostro PC per sicurezza).

My sw links