COM1001 Introduction to Software Engineering
I supervise several teams in COM1001 (Semester 2), where all students work as a group to implement software systems from requirements. Students are expected to use software engineering disciplines, including requirement engineering, SCRUM, and test-driven development.
COM3523/6523 Software Reengineering
I teach Software Reengineering with Dr Neil Walkinshow to our UG and MS cohorts. The course aims to teach how to understand and restructure legacy software systems. I focus on the restructuring part, with an emphasis on testing for reengineering, redistributing responsibilities, managing code clones, and removing dead code.