CSC458/2209 – Computer Networks – Fall 2025

Class web page: http://www.cs.toronto.edu/~yganjali/teaching/csc458-fall-2025/

Class Sections

Section L0101
  • Instructor: Prof. Yashar Ganjali
  • Class Time: **Tue. 1-3 PM
    • Location: GB 119
  • Tuotorial: Thu. 1-2 PM
    • Location: MP 137
  • Office Hours:
    • Tue. 3-4 PM, and
    • Tue. 5-6 PM, or by appointment
    • Location: BA 5238
Section L0201
  • Instructor: Prof. Yashar Ganjali
  • Class Time: Tue. 6-8 PM
    • Location: BA 1180
  • Tuotorial: Tue. 8-9PM
    • Location: BA 1180
  • Office Hours:
    • Tue. 3-4 PM, and
    • Tue. 5-6 PM, or by appointment
    • Location: BA 5238

Schedule

This is a tentative schedule of course lectures and might be updated. Please check regularly.

# Week Lecture Topic Reading Handouts Assignments
1 Sep 2 Course logistics and introduction Chapter 1 H01 - Info sheet [pdf]
H02 - Lecture 1 [pdf][pptx]
-
    No tutorial - - -
2 Sep 9 Link layer, error detection/correction Chapter 2 H03 - Lecture 2 [pdf][pptx] -
    Tutorial: socket programming - H04 - Tutorial I [pdf][pptx] -
3 Sep 16 Interconnecting LANs; Internet Protocol (IP) Chapter 3 H05 - Lecture 3 [pdf][pptx] Prog Assignment 1 out
    Tutorial: Prog Assignment 1 Overview - H08 - Tutorial II [pdf][pptx] -
4 Sep 23 Routing and Forwarding Chapter 3   Problem Set 1 out
    Tutorial: Sample Problems -   -
5 Sep 30 Internet Topology Chapter 4   Problem Set 1 due (Sep 30)
    Tutorial: Problem Set 1 Q&A - - -
6 Oct 7 Transport Protocol Chapter 5   Quiz 1
    Tutorial: Programming Assignment 1 Q&A -   -
7 Oct 14 Congestion Control Chapter 6 - Prog Assignment 1 due (Oct 17)
    No tutorial - - -
8 Oct 21 Midterm exam - In class midterm -
    No tutorial - - -
9 Oct 28 No Classes - Reading Week -   Prog Assignment 2 out
    Tutorial: Programming Assignment 2 Overview -   -
10 Nov 4 Queueing Mechanisms; Middleboxes Section 6.4.1   Problem Set 2 out
    Tutorial: Problem Set 2 Review -   -
11 Nov 11 Software-Defined Networking Chapter 8   Problem Set 2 due (Nov. 11)
    Tutorial: Problem Set 2 Q&A - - -
12 Nov 18 Data Center Networking & Networks for ML -   Quiz 2
    Tutiorial: Prog Assignment 2 Q&A - - -
13 Nov 25 Overlay networks and final review -   Programming Assignment 2 due (Nov 28)
    Tutorial: Sample Final Review - H30 - Midterm Section 101 [pdf] -
    Final Exam - Please check A&S final exam schedule for time/location. -

Course Information

Course Description

This is a course on computer networking systems. Topics covered in this course include computer communication network design and implementation, packet switching systems, socket programming, network software, hardware, and protocols, network naming and addressing, congestion control schemes, software-defined networking, networking for machine learning, network security, and wireless networks. The emphasis is on programming and experimental analysis of real network components. We also focus on specific use-cases like network systems for machine learning applications towards the end of the course.

Prerequisites

You need to have a basic understanding of probability theory, a strong background in C programming, and be familiar with the Unix operating system. If you are not sure whether you have the background to take this course, please take a look at the first programming assignment (link available at class web page) to get an idea of the type of work, and time you will need to spend on it. If you still are not sure, send me an email.

Textbook

  • Computer Networks: A Systems Approach (6th Edition), Peterson, Davie, 2021.

You can get a print copy of this book on Amazon. Alternatively, you can find an online version here: https://book.systemsapproach.org/

Grading

  • Assignments: 40%
    • Problem sets: 0%
    • Programming assignments: 20%
    • Quizzes: 20%
  • Midterm exam: 20%
  • Final exam: 40%

Late Submission Policy

You have one free late submission of 24 hours for one of the assignments (problem set, or programming, but not both). This 24 hour limit is hard, and cannot be extended. For any late submission other than the free one, 10% of the mark will be deducted for each day late, up to 20%. Assignments will not be accepted after two days.

Exams

There will be an in class midterm exam on October 21. There is also a final exam. For date, and location of the final exam, please check the class web page. All graduate students enrolled in this course are required to complete the midterm and final exams.

Teaching Assistants

Here is the list of course teaching assistants (the list will be updated with information about assignments each TA is responsible for). Please use Piazza for questions regarding each assignment. If there is a specific inquiry that needs to be sent to the TAs directly, please make sure you contact the appropriate TA.

  • Parsa Pazhooheshy - Lead TA (parsap@cs.toronto.edu)
  • Hossein Bijanrostami (hossein.bijanrostami@mail.utoronto.ca)
  • Ehan Etesami (ehsan.etesami@utoronto.ca)
  • David Lin (davidzy.lin@mail.utoronto.ca)
  • Farid Zandi Shafagh (faridzandi@cs.toronto.edu)

Bulletin Board and Class Mailing List

Please use our class bulletin board (on Piazza) to ask questions from TAs. You can sign up to the bulletin board here:

https://piazza.com/utoronto.ca/fall2025/csc458csc2209

By using the bulletin board, everyone in class can read the replies, and the overall number of repeat questions is reduced. Please check the bulletin board before posting any new questions. We guarantee any question posted to the bulletin board will be responded within 48 hours.

If you have any questions that cannot be posted on the bulletin board (e.g. questions about your grades), you can e-mail TAs directly. There is no guarantee on when you will get a reply. We really want you to use the bulletin board. :-)

Please make sure to check the announcements folder regularly for updates regarding lectures, assignments, etc.

In addition to our bulletin board, we have a mailing list that will be used exclusively for sharing important information. We will use the email address you have used on ACORN to create this list (please make sure that is a valid email address). Please do not use this email to ask questions.

Notes and Handouts

I will use a combination of slides and blackboard (physical blackboard in the classroom). Please take notes when I am using the blackboard. The handouts will be available on class web page, so you don’t need to take notes.

Academic Integrity

Please see Handout #1 regarding academic offenses and permitted collaborations.

Assignments

There will be two problem sets, two in-class quizzes, and two programming assignments. Assignments will be posted here.

Programming Assignment 1

For this assignment, we will implement a simplified portion of network stack: creating Ethernet packets from IP packets and sending them out.

  • 10% of the overall mark.
  • Due date: Friday, October 17th at 5pm.
  • Assignment description handout can be found here.
  • You can find Mininet VM Setup instructions here.
  • Please make sure to check out coding guidelines and examples of good and bad programming pracitces here before starting.
  • This assignment is to be done in individually.
  • Submission guidelines: The assignment should be tested on the same VM provided in the assignment and submitted electronically on MarkUs.

Problem Set 1

Programming Assignment 2

Problem Set 2