Created on 19 Mar 2019 ;    Modified on 20 Mar 2019 ;    Translationitalian

Unicam: the teaching Complex Systems Design

I thought it'd be difficult, instead ... it was just so: the teaching of Complex Systems Design proved to be fairly hard to digest.

But, let's go with order.

First of all: did I say that on September 2018 I joined the Computer Science master's degree course at the University of Camerino? No? Well, it's so.

Why Camerino? First: because a quick look at the available curricula convinced me more than those presented by La Sapienza.

Second: my maternal grandmother was from a town near Camerino, in which I spent long summer holidays during my youth [1].

Third: even for the academic year 2018-19 the University haven't charged the fee to its students of the School of Science and Technology [2].

Given the set of previous reasons, I decided to register. After that, I looked for the teaching that I considered most challenging [3].

The English language you say. Yes, I agree, it's my pain. But now we are talking about Computer Science! Let's take something more relevant.

Observing the contents of the teachings, I came across the mandatory Complex Systems Design, held by professor Flavio Corradini. A quick study of the contents almost convinced me to give up immediately.

Why? We have to go back a few decades, to the period in which I unconsciously attended the first years of the degree course in Nuclear Engineering at the University of Rome La Sapienza.

In that period I had mathematics and physics teachings of the most disparate types. But there was an exam entitled Geometry 2, abstract algebra [#] _, which was left over. A quick view at its contents convinced me that teaching had nothing to do with the various Analysis 1 and 2, Geometry 1, Rational Mechanics, Complements of Mathematics and Numerical Analysis with which I had dealt.

Moreover, I had to make absolutely room for some computer science exams that interested me and they weren't included in the standard curriculum.

Result: I replaced Geometry 2, abstract algebra with an exam of computer technology.

Well, guess if after so many years the Nemesis doesn't strike me resurrecting the concepts of Abstract Algebra?

Type of contents

And so we come to the course contents. Complex Systems Design studies the application of a particular branch of algebra, called Process Algebra, to study and model the behavior of reactive systems, ie systems typically made up of multiple components, which interact between them and they react to commands coming from outside.

If you want to consult in some detail the content of the lessons of this academic year, you can read (sorry: only in Italian language) these lecture notes of Complex Systems Design.

If you're happy with a macroscopic list of entries, here it is:

  • regular expressions (yes, they are useful to search patterns in texts, but they are usable to describe complex systems too);
  • bisimulation;
  • a Calculus of Communicating Systems (CCS);
  • exemples of systems:
    • producer consumer;
    • FIFO buffer;
    • PIPE buffer;
    • BUFF buffer;
  • notes of model checking.

Furthermore, to do the exam, it is necessary to develop a project, usually in a group of students, and it's chosen among those indicated by productive realities, which propose them to the teaching staff.

In special cases, for example for students in other towns, it is possible to propose autonomously projects to the professor, as long as they pertain to the subject of teaching.

The chosen project is developed by the working group with the supervision of a tutor appointed by the company that proposed it. Professor checks the status progress, usually once a week.

The exam includes a presentation and discussion of the project, and possibly some questions related to teaching lessons.


As you may have guessed, I had to make a considerable effort to grab the basic concepts of Abstract Algebra, of which I was lacking.

The other my major effort was to understand how to use in the design field of software systems the theoretical tools made available by the teaching. I have only taken the first steps in this direction, but I must say that they were interesting, even though challenging.

Three aspects impressed me deeply.

First of all, professor Corradini has an intersting teaching style. He mix the theory with observations of life relative to characters who built the algebra of processes, creating an atmosphere that tends to grab the student.

Second. The fact that the projects are normally proposed by companies, creates for students the opportunity to observe some really working organizations. Not to mention of the link between universities and companies, which in Germany is one of the strengths.

Third. The lessons were streamed over the Internet. Without this feature, I could never give this exam: I followed the lessons from Rome.

For sure, with the WEB streaming existed some connection problems. Moreover, often the video of the sheet on which the professor wrote was out of focus, giving place to some "interpretative" problems :-). However in the end everything worked out.


A challenging course, which must be addressed by those who choose any curriculum of Computer Science master's degree course at the University of Camerino.

I must say that observing the use of algebra in the context of reactive system design on one hand it surprised me. Meanwhile on the other hand, like all new things, it greatly interested me. And having the feeling of learning new things always leaves me satisfied: dopamine at work :-).

Thanks to professor Corradini, who spent himself in deepening the concepts, also trying to approach them from different angles. And for the patience shown in listening me during the exam, despite my bad English.

About the exam. Of course, being the only Methuselah in the midst of a lot of twenty-year-olds leaves a little lost. On the other hand it must be accepted that by now we live in a world where the education phase is permanent. It's necessary to understand that what has been learned at age of twenty isn't enough for the rest of life.

Finally, once again, there is the need to know English discreetly.

This is the official language of the entire degree course: the lessons are usually in English, as well as exams. And here there are no transcripts a save our lives :-).

[1]For the curious: the village in question is called Sefro, and is about 20 kms from Camerino.
[2]The payment of the fee is temporarily suspended due to the disastrous conditions of Camerino after the earthquakes of 2016. Reconstruction is underway, but the damage is still significant. Meanwhile the University has decided to counter the predictable decrease of students by breaking down for some years the registration fees.
[3]Consistent with my philosophy of life: start from the highest obstacles, overcame those, the rest is downhill road.
[4]In my time, the exams were divided into annuals (these were the real exams) and six-monthly ones. And these were the little exams. In theory a six-month exam would have a didactic contents about an half of a yearly exam. Really they had at least two thirds of contents of a yearly exam, if not more.