Performant Software Systems with Rust
Instructor
Baochun Li
Room 4118, Bahen Centre of Information Technology
bli@ece.toronto.edu
Lectures and Examinations
There are 11 lectures and two in-class examinations in total, the classroom and schedule are as follows:
Room BA 1170, Bahen Centre of Information Technology
Wednesdays, 3:10 — 5 p.m.
First lecture: Wednesday, September 9, 2026
No lecture on: Wednesday, October 7, 2026 (instructor traveling, make up lecture on December 9)
Midterm examination: Wednesday, October 21, 2026 (in class and during lecture time)
No lecture on: Wednesday, October 28, 2026 (FASE Fall Study Break)
Last lecture: Wednesday, December 9, 2026
Final examination: December 16, 2026 (room TBD)
Office hours
Wednesdays 1 p.m. — 2 p.m.
or by appointment (send email to: bli@ece.toronto.edu)
First office hour: Wednesday, September 9, 2026
Online office hour on: Wednesday, October 7, 2026 _(instructor traveling, make up office hour on December 9)
No office hour on: Wednesday, October 28, 2026 (FASE Fall Study Break)
Last office hour: Wednesday, December 9, 2026 (1 p.m. — 2 p.m.)
Office hours location
In person: BA 4118, Bahen Centre of Information Technology, 40 St. George Street (Except October 7, 2026, when the office hour will be held online as the instructor will be traveling)
Course material
Lecture notes and video recordings
Required textbook
The Rust Programming Language, by Steve Klabnik and Carol Nichols, with contributions from the Rust Community
Important deadlines
- Assignment 1 (10%): due on Monday, September 28, 2026, 11:59 p.m.
- Assignment 2 (10%): due on Monday, October 19, 2026, 11:59 p.m.
- Assignment 3 (10%): due on Monday, November 9, 2026, 11:59 p.m.
- Assignment 4 (10%): due on Monday, November 30, 2026, 11:59 p.m.
In-class quizzes
Six in-class quizzes will be held in the following lectures: September 23, September 30, October 14, November 11, November 25, and December 2. Each in-class quiz will consist of five multiple-choice questions, and will be conducted in 5 minutes of time, one minute on average for each question. In class quizzes cannot be participated online, as they are conducted on paper. All in-class quizzes will be conducted at the end of the two-hour lecture (starting 4:55 p.m. and ending 5:00 p.m.), in case you may miss a part of the lecture.
Your scores (with a maximum score of 5) in these in-class quizzes will account for 10% of the term grade. Out of the six in-class quizzes, the highest four scores will be used for the term grade, each account for 2.5%. For example, if your score is 4 (out of a maximu of 5) in an in-class quiz, it will contribute 2% (out of 2.5%) to the term grade if it is among your best four.
All in-class quizzes will be multiple choice questions, and there will only be one correct answer for each question.
Grades
Grades are posted in the Grade Centre, located in the course website on Quercus.
Each programming assignment accounts for 10%, for a total of 40%. The in-class quizzes account for 10% in total. The midterm examination accounts for 20%, and the final examination 30%.
AI Policy
This course does not use generative AI technologies. None of the lecture slides were written by generative AI, and this website is hand-written. No AI is allowed when writing the programming assignments. The in-class quizzes, midterm examination, and final examination are all closed-book closed-notes, no calculators, no cell phones, and no computers are allowed.
It is mandatory that the take-home programming assignments should be written in a dedicated new Rust programming playground, called Rustrace, designed and implemented by the instructor for conducting manual coding exercises. Each programming assignment requires at least 8-10 hours of your time; it is strongly recommended that you start early, and allow at least several days before the deadline.
Announcements
Posted in the Announcement section located in the course website on Quercus