Software Engineering Research Project (SENG402)
This course is the capstone project for software engineering students. Students must work individually on either a staff or sponsored project that includes some aspects of research (e.g., user study, application of latest research results in an industrial context, proof-of-concepts). Students are supervised by an academic staff member and, when relevant, by an industry sponsor. Students deliver a project plan, an interim and a final report on top of a public presentation and a formal demonstration.
This project is the opportunity for students to dig into a challenging problem and lead a software engineering project by themselves. More details available on the official course page.
Model-Driven Software Engineering (SENG405)
The purpose of this course was to introduce students to model-driven software engineering practices. Students learnt about appropriate methods and suitable tools for model-driven software engineering. Then, they developed team work skills as software language engineers where they created their own software language and implemented a dedicated language workbench. Last, they conducted an empirical evaluation of a domain specific language framework developed by their peers.
The course used a mix of theoretical lectures and practical labs (e.g., using Arduinos), but sadly, this course has been cancelled.
Professional Master of Computer Science
I also contributed to the software architecture, design and continuous integration components of the COSC680 bootcamp of the Professional Master in Computer Science. I taught computer science students about software engineering practices including agile software development, software architecture, and requirement engineering.