Teaching

I have more than nine years of experience teaching internationally both at the undergraduate and graduate levels. I hold a Postgraduate Certificate in Academic Practice (PGCAP) from the University of York and I am a fellow of Advance HE.

University of York (2018-2021)

During the academic year 2020-2021, I co-instructed with Dimitris Kolovos and Nicholas Matragkas the Engineering 1 module (ENG1) at the Department of Computer Science, University of York. This module introduces key software engineering topics, and encourages teams of students to incorporate them into the collaborative development of a software project that runs during the Autumn and Spring terms. Moreover, I co-instructed with Dimitrios Tsarapatsanis the Legal Practice, Technology and Computer Science module, in which CS and Law students work collaboratively in teams to develop a technology-based solution to a real-life legal practice process problem.

During the academic years 2018-2019 and 2019-2020, I co-instructed with Richard Paige, Dimitris Kolovos and Nicholas Matragkas the Software Engineering Project module (SEPR) at the Department of Computer Science, University of York. This module introduces key software engineering topics, and encourages teams of students to incorporate them into the collaborative development of a software project that runs during the Autumn and Spring terms.

Carnegie Mellon University (2013-2017)

During the academic years 2013-2017, I have co-instructed with David Garlan Models of Software Systems (17-651) at Carnegie Mellon University's Master of Software Engineering (MSE). This course exposes students to abstract models and logics that over time have proven important in the study of software systems and includes topics like state machines, process algebras, concurrency, and temporal logics, among others.

University of Málaga (2008-2009)

During my Ph.D., I co-taught several undergraduate-level CS modules at the Department of Computer Science, University of Málaga.