I taught in the 2017 edition of Advanced Software Engineering (course focusing on Ruby on Rails, test-driven development and other established best practices for developing software).
Before that and for more than ten years, I taught Software Project Management, a course illustrating techniques to manage software-intensive projects. The SPM Book website provides more information about the course, downloadable material and information about “Introduction to Software Project Management”, the book I published in 2014 with CRC Press.
Other teaching experiences at the University of Trento include “UML modeling” and “Languages and Translator”. The former was based on UML 1.4 and Rational Rose. The latter was based on the “Dragon book”1 and introduced some of the theory behind compilers and included various exercises based on Flex and Bison.
Early experiences include teaching C, C++, fundamentals of the Unix operating system, and data communication.
I sometimes have the opportunity to supervise students for the BSc and MSc work: you can view a list of the students who graduated under my supervision.
Compilers: Principles, Techniques, and Tools by Aho, Alfred V., Sethi, Ravi, Ullman, Jeffrey D. (1986)