This is a personal (Domenico G. Sorrenti) set of suggestions, as the subjective judgments of each student is also important.
I first introduce the list of courses I suggest you to take; how to compile a "piano degli studi" including such courses is a different issue (see later; you need to know that any piano degli studi needs to satisfy a certain set of complex constraints).
As indicated in the "regolamento", which has to comply with the "ordinamento", any "piano degli studi" needs to include at least 160cfu of courses (20 courses, 8cfu each).
My suggested list is:
- analisi matematica (i.e., analisi 1)
- complementi di matematica (hopefully one day turning into: geometria ed algebra lineare)
- fondamenti dell'informatica
- architettura degli elaboratori
- programmazione 1
- programmazione 2
- algoritmi e strutture dati
- linguaggi di programmazione
- basi di dati
- analisi e progettazione del software
- reti e sistemi operativi
- sistemi distribuiti
- fisica
- metodi algebrici dell'informatica (hopefully one day turning into: analisi 2)
- analisi e progettazione degli algoritmi
- ricerca operativa e pianificazione delle risorse
- trattamento e codifica di dati multimediali
- elaborazione delle immagini
- sistemi embedded
- robotica e automazione
The list above, with respect to a normal "piano degli studi" lacks "linguaggi e computabilità" and, as this course is mandatory in the current "regolamento", it is therefore required to present a "piano di studi" of the "liberalizzato" type. As far as I know, this is currently possible only on paper.
It would also be nice to have:
- an introduction to the C++ language, as well as the .net framework (both are provided by the course "programmazione ed amministrazione di sistema"),
- a "normal path" through "fisica" (i.e., fisica 1 + fisica 2),
- a "normal path" through electronics (i.e., electrotechnics with introduction to electric motors, theory of electric networks, digital electronics),
- a more in-depth knowledge about mechanics (i.e., classical mechanics, modeling of articulated multi-body systems),
but ... some compromise has to be reached; students particularly interested in such domains could select courses offered as part of the "Fisica" programme, although this appears to be a complex task, as it requires accommodating courses whose size is usually 6 cfu, which is different from the 8 cfu size of the courses in the "informatica" programme. To make room for other courses, courses from "informatica" have to be sacrificed; my suggestion in such perspective is to consider deleting "sistemi distribuiti", then "analisi e progetto degli algoritmi", and then "programmazione 2"; moving toward perspective means that your "piano di studi" might not satify the constraints for giving you the "laurea in informatica" degree, and therefore any choice in this respect needs a careful analysis of the "ordinamento" document, and of the constraints therein.