Tomorrow will be three years since my Master Degree in Computer Science Engineering.
I got my degree from the University of Pisa and I am writing this post to simply remember that unforgettable day.
The title of my degree thesis (translated in English) was "Modular architecture for testing smartcard-based solutions" and here you can find the original paper:
The following is a video of my formal presentation (obviously in Italian). I still can't believe how relaxed I was that day and how good the presentation was. Fortunately, being a speaker in DotNetToscana helped me a lot for that event.
It is impossible to forget the satisfaction of getting the maximum score: 110/110 with Honours and the unique certification of excellence. I order to get the certificate of excellence I had to do 5 additional exams with strict deadlines: Computer Science applied to biological systems, Dynamic Systems, Web Algorithms, Game Theory and Computational Intelligence. That was hard but extremely rewarding.
Let me show few pictures from the project itself.
The SCOTT Architecture (Smart Card Open Test Toolkit):
An example of interaction with the SCOTT Shell:
The project was written in C++ with the ability to run on Windows and Linux.
I tested it with the Cryptoflex 8K Card and the TODOS Argos Mini Card Reader:
The following are the class diagrams of the simple and complex types. I had to define a type system and write the relative parser in the SCOTT shell (lots of fun!).
I like the macro I used to define a type naming convention for smart pointers and more complex data structures like maps and vectors of smart pointers. Unfortunately C++ is not like C# and I found this solution a good compromise to think like having List and Dictionary and almost forget about memory management.
The following code defines a smart pointer to vector/map of smart pointers to SValue:
This was also the first project where I started to use Unit Testing and understand the importance:
The entire project is almost 10000 lines of source code and I released it as open source but it is abandoned. If you are curious you can download the source code from the official repository.