Teaching
Before and during my PhD studies and during my postdoctoral work, I have been able to gain experience in teaching at university level through lecturing, tuition of exercise groups and the supervision of Bachelor’s, Master’s and, PhD students. I have taught several courses, from bachelor to doctoral level, on topics ranging from statistical mechanics to complex systems and machine learning, as summarised below.
1) Turbulence and Complex Fluids: I have concentrated on introducing students to the problem of turbulence from the point of view of out-of-equilibrium statistical mechanics. This is a Master’s level course and it consists of frontal oral lectures at the blackboard for a total of 80 hours, half of which I have covered, the other half being shared with Prof. Mauro Chinappi. As it is a highly specialised course, it has an average of about 10 students. The exam consists of an oral evaluation at the blackboard of about one hour for each student.
2) Statistical Mechanics: I have been an assistant Professor for three years, tutoring and giving exercises to the third-year undergraduate physics students. This is a compulsory course with an average of 40 students per year. The main topic is statistical mechanics of equilibrium, during the course I spent 3-4 lectures reviewing relevant topics in thermodynamics and quantum mechanics. The exam consists of a written and an oral part and aims to evaluate the student’s ability to solve exercises and their theoretical knowledge of the subject. In total, I have given 22 hours of frontal lectures and 60 hours of tutorials per year.
3) Machine Learning Methods for Physics: This is a completely new course that I introduced at the Physics Department of the University of Rome Tor Vergata. It was conceived for Master students specialising in Big Data and Complex Systems and was attended by an average of 10 students per year. The aim was to teach the theory of machine learning, focusing on algorithms more relevant to the typical data analysis performed by physicists. Here I have taught the basics of Machine Learning up to the more developed approaches for data generation, such as Generative Adversarial Networks and Diffusion Models, as well as the basics of Recurrent Neural Networks and Transformers, for the analysis of temporal signals. This course was quickly organised in 60 hours of lectures and the exam consisted in the presentation of a project chosen by each student with my agreement.
4) Hands on Machine Learning: This is a PhD course that did not exist before, which I thought of as an integration of the Machine Learning Methods course, aiming to introduce PhD students to the main libraries and codes available for implementing an ML algorithm. The course is organised in 16 hours of lectures where students learn the details of implementation, from data preparation to setting up the architecture and learning strategy, to the final validation of the results. The course has been highly appreciated by many PhD students and has also been followed by postdocs working in different groups at the University of Rome Tor Vergata, and on average it was attended by 15 students.
Short courses
Aside of the main lectures I have been involved in several short courses targeted to different audience, from high-school students up to PhD summer schools.
1) First PhD School of the Italian Society of Statistical Physics (SIFS): I have been tutoring PhD students attending the first edition of SIFS organised at the IMT School for Advanced Studies Lucca in Italy on the topic of “Hydrodynamics and Turbulence”. The school lasted for two weeks, with lectures every morning and laboratories every afternoon, from the end of August to the middle of September 2022 with the participation of 50 students.
2) STIMULATE PhD School on Machine and Reinforcement Learning, Rare Events and Tensor Networks: The school took place in September 2020 and was offered online due to the COVID pandemic. Here I gave a short course on Deep Learning and Reinforcement Learning applications.
3) Big Data (PCTO program): This is a computer laboratory course for high school students who are invited to experience the academic environment and be exposed to ongoing research problems and activities. The project is organised in 5 full afternoons (4 hours) divided between lectures with slides and laboratory activities. The number of students attending the lectures was in the order of 60 people, while only a selected sub-group of 25 students participated in the laboratory.