Foundations of Computer Security
CSC364 - Fall 2026
Overview
This course is an introduction to computer security. It covers the principles and practice of designing secure systems, with topics including cryptography, operating system security, network security, and software security. Students will learn to build, reason about, and analyze secure systems, while also examining how real-world systems break in practice through vulnerabilities, exploits, and attacks. The course serves as an entry point for undergraduates and provides the foundation for advanced courses in applied cryptography, systems and network security, and machine learning security.
Course Information
This year the course is offered in two sections (same lectures and course material, shared assignments and exams).
- Instructors: Prof. Anwar Hithnawi (LEC0101) · Prof. Thomas Ristenpart (LEC0201)
- TAs: Ashwin Karthikeyan, Nikolay Avramov, Ziyang Jin, ...
- E-mail: csc364-2026-09@cs.toronto.edu
- Lectures:
- LEC0101: Mondays, 9:00–11:00 AM · WI 1016
- LEC0201: Mondays, 11:00 AM–1:00 PM · SS 2135
- Discussions & Tutorials:
- LEC0101: Wednesdays, 10:00–11:00 AM · KP 108
- LEC0201: Wednesdays, 11:00 AM–12:00 PM · KP 108
- TA Office Hours: Wednesdays, 1:00 PM–2:00 PM · BA 5287
Important Links
- Course Website: Schedule, syllabus, readings, and general course information
- Quercus: Official announcements, lecture slides, and course communication
- Piazza: Public discussion, Q&A, team formation, and peer support
- MarkUs: Submission platform for projects and homework
Course Evaluation
- Homeworks (10%)
- Projects (20%)
- Midterm Exam (30%) - (October 21, during the discussion session)
- Final Exam (40%) - (December TBD at TBD)
Textbooks
There is no single required textbook for this course. We will rely heavily on the Berkeley Introduction to Security Textbook.
For the cryptography portion of the course, we will use A Graduate Course in Applied Cryptography. Exact sections and reading materials will be specified in the course schedule. Optional readings are recommended for deeper understanding but will not be part of the exam.
Assignments
There will be four written homework assignments and two programming projects. Homework needs to be done individually. Both programming projects may be completed in pairs. Late submissions are subject to the following policy: students may request up to three days of extension without penalty; beyond this, a deduction of 20% will be applied for each additional day late.
| Assignments | Announced | Due |
|---|---|---|
| Homework 1 | Sep 21 | Oct 5 |
| Project 1: Secure Messaging System | Sep 28 | Oct 19 |
| Homework 2 | Oct 5 | Oct 19 |
| Homework 3 | Nov 9 | Nov 23 |
| Project 2: Vulnerability Detection Tool | Nov 2 | Nov 30 |
| Homework 4 | Nov 23 | Dec 7 |
Schedule and Readings
This schedule is tentative and subject to updates throughout the semester.
| # | Week | Lecture (Mon) | Discussion (Wed) | Readings |
|---|---|---|---|---|
| 1 | Sep 14 | Introduction & Security Principles | Tutorial: Math foundations for cryptography I | Required Reading:Optional Reading: |
| 2 | Sep 21 | Introduction to Cryptography & Symmetric Crypto Foundations | Tutorial: Math foundations for cryptography II | Required Reading: |
| 3 | Sep 28 | Message Integrity & Authenticated Encryption | Project 1 design check and help session | Required Reading:Optional Reading: |
| 4 | Oct 5 | Key Exchange & Public Key Encryption | Tutorial: Operating System | Required Reading: |
| 5 | Oct 12 | Thanksgiving – no lecture | Tutorial: Computer Networks I | |
| 6 | Oct 19 | Digital Signature, Certificates & Authenticating People | Midterm | Required Reading: |
| 7 | Oct 26 | Reading Week – no lecture | Reading Week – no discussion | |
| 8 | Nov 2 | Operating System Security I | Project 2 design check and help session | Required Reading: |
| 9 | Nov 9 | Operating System Security II | Tutorial: Web | Required Reading: |
| 10 | Nov 16 | Web Security | Ethics Module | Required Reading:Optional Reading: |
| 11 | Nov 23 | Network Security I | Tutorial: Computer Networks II | Required Reading: |
| 12 | Nov 30 | Network Security II | Final Exam Review | Required Reading: |
| 13 | Dec 7 | AI Security | - | |
| 14 | Dec 8 (Tue – Monday make-up day) | Special Topics: PETs | - |
