CSC2125:
Software
Engineering for ML-Enabled Systems (SE4AI)
Instructor: Marsha Chechik, chechik@cs.toronto.edu
TA: Caroline Hu, bouye@cs.toronto.edu
Lectures:
Mondays 12-3 (bring a snack or drink!) in OI 8170 (OISE, 252 Bloor Street W.)
Office
Hours: Mondays 3:30-4:30 or by
appointment, Bahen Centre (40 St. George Street, Rm. 3259)
Goals
of the course:
Understand how ML components
are parts of larger systems
Understand the challenges in
engineering an ML-enabled system beyond accuracy
Understand the role of
specifications in machine learning and the relationship to deductive and
inductive reasoning
Study the challenges and
techniques of verification and validation of such systems
Discuss safety, reliability and
(optionally) other AI-related issues such as fairness
Prerequisites:
No knowledge of SE is expected:
requirements, software testing, software design, process
(but of course always helpful)
Assume SOME knowledge of ML:
Basic understanding of data science process, including data cleaning, feature engineering, using ML libraries
High level understand of machine-learning approaches
supervised learning
regression, decision trees, neural networks
accuracy, recall, precision
Tentative
Syllabus:
•
Introduction:
SE challenges in systems with AI components
•
Requirements and risks
•
ML process and deployment
•
Testing (unit and system), intro to V&V
•
Safety and reliability
•
Data management
•
Advanced topics, if time allows: explainability,
ethics, fairness
•
Whatever interests you! (based on selection of papers to present)
Course Calendar
1. Sept. 11 Lecture 1: intro Assignment 1 out
2. Sept. 18 Lecture 2: requirements Due: Assignment 0
3. Sept. 25 Due: expressions of paper interest
4. Oct. 2
Oct. 9 Thanksgiving. No class.
5. Oct. 16 Due: Research topic proposal,
Assignment 1. Assignment 2 out
6. Oct. 23
7. Oct. 30
8. Nov. 6 Fall reading week. Class on. Due: Assignment 2. Assignment 3 out
9. Nov. 13
10. Nov. 20
11. Nov. 27
Dec. 4 No class. Due: Assignment 3, Project
Dec. 18? Project presentations
Course Workload – two flavors
“Hands-on”
70% 3 assignments, done in groups of 2
(A1 is 25%, A2 is 15%, A3 is 30%)
15% Presentation of one paper (individual, starting
from week 3)
15% Course participation
OR
“Research”
50% Research project (individual or group)
35% Presentation of two papers (individual), at least one of them
“more technical”
15% Course participation
Reading List
Book:
Building Intelligent
Systems by Geoff Hulten. Available from UofT
Library here
List of papers for presentations is available HERE
No color – somewhat easier papers
Red – somewhat harder
Yellow – talk to us if you want to present
Information about the Assignments
3 small to medium-sized assignments done with a
partner with the goal of engaging with practical challenges, reason about
tradeoffs and justify your decisions, write reports, do some modeling and some
coding. Possibly present results during
last class.
Information about the Project
Design
your own research project and write a report
-
A case study, empirical study, literature survey, etc.
-
Can be done individually or in a group of 2
-
Project proposals due October 16
-
Very open ended: Align with own research
interests and existing
projects
Information about Paper Presentations
Academic honesty
In a nutshell: do not copy from other students, do not lie, do not share or
publicly release your solutions. In group
work, be honest about contributions of team members, do not cover for others. If you are using ChatGPT or any
other AI system to help, please acknowledge where / how you used it. If you
feel overwhelmed or stressed, please come and talk to us!