I have taught the following courses at EPFL.

Software Engineering

In this course, students learn the basics of software engineering, enabling students to go from writing code to developing software.
This includes the entire product lifecycle, from requirements to maintenance, including designing, testing, and debugging code. (Co-taught with Prof. George Candea)

Software Development Project

In this companion course taught after Software Engineering, students build an Android app in a team following a Scrum-like process.
The course is divided into two-week Scrum sprints, during which students work on their assigned tasks, review each other’s code, and have intermediate “standup” meetings to coordinate. (Co-taught with Prof. George Candea)