Courses
Professor Diego Elias Costa (co-)designs and (co-)delivers courses related to Software Engineering and Artificial Intelligence.
Engineering AI-Based Software Systems (SOEN 691)
This course is part of the SE4AI Training Program, a collaborative initiative between four Canadian universities to train professionals in developing and maintaining AI-based software systems. The course covers essential engineering concepts for AI systems, including requirements, architecture, data handling, model management, deployment, and monitoring. Students complete a project using a real-world open source AI system.
- Interested? You could find the course slides, outline and materials in our Course GitHub page
Generative Artificial Intelligence for Software Engineering
This course explores the use of Generative AI (GenAI) in Software Engineering practice and research. It covers topics such as prompt engineering, fine-tuning large language models, and applying GenAI to areas like requirements, design, development, testing, and maintenance. The course also addresses challenges and ethical issues related to deploying GenAI systems. Students will complete a research project applying GenAI techniques to Software Engineering problems.
- Interested? You could find the course slides, outline and materials in our Course GitHub page.
End to end design of AI-Based Software Systems (industry course)
This course is designed for professionals seeking to gain a practical introduction to AI-based software systems. It explores the full development lifecycle—from ML pipelines and requirements engineering to deployment and MLOps—combining foundational concepts with hands-on experience using real-world tools. Tailored for industry practitioners, the course emphasizes actionable knowledge and skills for applying AI in real software engineering contexts.
- Interested? Please reach out to prof. Diego Elias Costa for more information about this practitioner-oriented course.