SOEN 691: Engineering AI-Based Software Systems
Background
The development, deployment and servicing of AI-based systems requires specialized training since such systems tend to have fundamental differences compared to traditional software systems. For example, traditional software systems are written to implement a specific behaviour that is expected of the system, whereas, AI-based systems infer their behaviour from training data. In such cases, technical aspects such as debugging if something is wrong becomes much harder since there is no ‘expected output’. The goal of the course is to provide graduate students with the basic and fundamental technical background while exercising SE concepts in the context of an AI-based software system.
Course Description
This course introduces key concepts related to the engineering of AI-based software systems. Topics include requirements and architectures of AI-based software systems, data validation and management, model selection, quality assurance, deployment and continuous delivery of AI-based software systems. Additionally, special topics on interpreting and monitoring models, and operations in large-scale AI-based system will be included. A course project involving a real-world open source AI-based software system will be required.
A tentative list of the topics that will be covered in this course is given in the tentative schedule section at the botom of the page.
Evaluation Criteria
Component | % |
---|---|
Class participation | 10 |
Paper critiques & activities | 20 |
Project proposal | 10 |
Research project | 40 |
Quiz | 20 |
You must pass the quizzes and the course project to pass the course.
Paper Critiques
We will have two assigned research papers on most weeks. Each student is expected to send a critique of one of the papers that are being presented. The critique should include a brief summary of the paper, at least three strengths of the paper and at least three weaknesses of the paper. For the other paper, each student is required to submit a summary of the paper. The critiques and paper summaries are due at noon on Fridays before the class. All paper critiques will be graded in detail.
Research Project
A large portion of the course deliverables is a course research project. You are expected to work on the course project in groups of 4-5 students. Each group is expected to write a research paper by the end of the semester. The topic is to be determined with the instructor. Examples include a new contribution on a specific related topic, a survey paper of a related topic (typically involves surveying 30 – 60 papers), or building a tool to support engineering AI-based software systems.
Tentative Schedule
The table below provides a summary of the material that will be covered during the course as well as a tentative schedule. Please check the course web page for any changes. We will also update the table weekly to include the PDF of the Slides of each topic.
Week | Date | Topic + Slides in PDF |
---|---|---|
1 | Jan 10 | Introduction & overview |
2 | Jan 17 | AI for Software Engineers |
3 | Jan 24 | Quality of AI-based systems |
4 | Jan 31 | Software requirements for AI-based systems |
5 | Feb 7 | Software architectures of AI-based systems |
6 | Feb 14 | Data validation and management |
7 | Feb 21 | Project updates (student presentations) |
8 | Mar 7 | Model selection and experimentation |
9 | Mar 14 | Deployment and testing |
10 | Mar 21 | Continuous delivery |
11 | Mar 28 | Interpreting, explaining, monitoring models, and MLOps (special topics) |
12 | Apr 4 | Quiz |
13 | Apr 11 | Project presentations (student presentations) |
Reference Material
Reading materials (i.e., researcher papers) will be assigned and provided.
The course will occasionally reference the following textbook:
- Building Intelligent Systems: A Guide to Machine Learning Engineering, 2018. Geoff Hulten
Contact Information
In case you need to communicate or ask any questions about the course, please send an e-mail to:
- Dr. Emad Shihab: emad [dot] shihab [at] concordia [dot] ca
- Dr. Diego Elias Costa: diego [dot] costa [at] concordia [dot] ca