CSC458/2209 – Computer Networks – Winter 2025

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

Class Sections

Section L0101
  • Instructor: Prof. Yashar Ganjali
  • Class Time: Mon. 9 AM - 11 AM
    • Location: MP 137
  • Tuotorial: Wed. 10 AM - 11 AM
    • Location: BA 1220
  • Office Hours:
    • Mon. 11 AM - Noon, and
    • Fri. 11 AM - Noon
    • Location: BA 5238
Section L0201
  • Instructor: Prof. Peter Marbach
  • Class Time: Tue. 3 PM - 5 PM
    • Location: ES B142
  • Tuotorial: Thu. 3 PM - 4 PM
    • Location: ES B149
  • Office Hours:
    • Tue. 5 PM - 6 PM
    • Location: BA 5224

Schedule

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

# Week Lecture Topic Reading Handouts Assignments
1 Jan 6 Course logistics and introduction Chapter 1 H01 - Info sheet [pdf]
H02 - Lecture 1 [pdf][pptx]
-
    No tutorial - - -
2 Jan 13 Link layer, error detection/correction Chapter 2 H03 - Lecture 2 [pdf][pptx] -
    Tutorial: socket programming - H04 - Tutorial 1 [pdf][pptx] -
3 Jan 20 Interconnecting LANs; Internet Protocol (IP) Chapter 3 H05 - Lecture 3 [pdf][pptx]
H06 - PA1 [pdf]
Prog Assignment 1 out
    Tutorial: Prog Assignment 1 Overview - H07 - Tutorial 2 [pdf][pptx] -
4 Jan 27 Routing and Forwarding Chapter 3 H09 - Lecture 4 [pdf][pptx] Problem Set 1 out
    Tutorial: Sample Problems - H10 - Tutorial [pdf][pptx] -
5 Feb 3 Internet Topology Chapter 4 H11 - Lecture 5 [pdf][pptx] Problem Set 1 due (Feb. 7)
    Tutorial: Problem Set 1 Q&A - - -
6 Feb 10 Transport Protocol Chapter 5 H12 - Lecture 6 [pdf][pptx] Prog assignment 1 due (Feb. 14)
    Tutorial: Programming Assignment 1 Q&A - H13 - Sample Midterm [pdf]
H14 - Sample Midterm Solutions [pdf]
H15 - PS1 Solutions [pdf]
-
7 Feb 17 No classes - Reading Week - - -
    No tutorial - - -
8 Feb 24 Midterm exam - In class midterm (L0101: Monday; L0201: Tuesday) -
    No tutorial - - -
9 Mar 3 Congestion Control Chapter 6 H16 - Lecture 7 [pdf][pptx]
H17 - PA2 [pdf]
Prog Assignment 2 out
    Tutorial: Programming Assignment 2 Overview - H18 - Tutorial 4 [pdf]
H19 - Midterm Solutions
Section 0101 [pdf]
Section 0201 [pdf]
-
10 Mar 10 Queueing Mechanisms; Middleboxes Section 6.4.1 H20 - Lecture 8 [pdf][pptx] Problem Set 2 out
    Tutorial: Problem Set 2 Review - H22 - Tutorial 5 [pdf] -
11 Mar 17 Software-Defined Networking Chapter 8 H23 - Lecture 9 [pdf][pptx] Problem Set 2 due (Mar. 21)
    Tutorial: Problem Set 2 Q&A - - -
12 Mar 24 Data Center Networking & Networks for ML - H24 - Lecture 10 [pdf][pptx]
H25 - Sample Final [pdf]
H26 - Sample Final Solutions [pdf]
Prog assignment 2 due (Mar. 28)
    Tutiorial: Prog Assignment 2 Q&A - - -
13 Mar 31 Overlay networks and final review - H27 - PS2 Solutions [pdf]
H28 - Lecture 11 [pdf][pptx]
H29 - Final Review [pdf][pptx]
-
    Tutorial: Sample Final Review - H30 - Midterm Section 101 [pdf] -
    Final Exam - Please check A&S final exam schedule for time/location. -

Course Information

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: 50%
    • Problem sets: 20%
    • Programming assignments: 30%
  • Midterm exam: 20%
  • Final exam: 30%

Please note that we have the same grading for all students (graduate and undergraduate).

Late Submission Policy

You have one free late submission of 24 hours for one of the assignments (problem set, or programming, but not both). You should e-mail the TAs before the deadline to get the free late submission. 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, as well as a final exam. For date, and location of the final exam, please check back the class web page.

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), PS1
  • Ehan Etesami (ehsan.etesami@utoronto.ca), PA1
  • Sajad Shirali-Shahrez (shirali@cs.toronto.edu)
  • Farid Zandi Shafagh (faridzandi@cs.toronto.edu)

Bulletin Board

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/winter2025/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.

Assignments

There will be two problem sets, 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.

  • 15% of the overall mark.
  • Due date: Friday, February 14th at 5pm.
  • Assignment description handout can be found 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 teaching lab machines and submitted electronically on MarkUs.
    • https://markus.teach.cs.toronto.edu/markus
    • Use your teaching lab credentials or UTorID to login.
    • Make sure to submit all the required files. For details, please see the “Submissions and Grading Section” in the assignment handout.

Problem Set 1

  • 10% of the overall mark.
  • Due date: Friday, February 7th at 5pm.
  • Assignment description handout can be found here.
  • This assignment is to be done in individually.
  • Submission guidelines: The assignment should be submitted electronically on MarkUs.

Programming Assignment 2

For this assignment, we will implement a router.

  • 15% of the overall mark.
  • Due date: Friday, March 28th at 5pm.
  • Assignment description handout can be found here.
  • This assignment is to be done in individually.
  • Submission guidelines: The assignment should be tested on teaching lab machines and submitted electronically on MarkUs.

Problem Set 2

  • 10% of the overall mark.
  • Due date: Friday, March 21st at 5pm.
  • Assignment description handout can be found here.
  • This assignment is to be done in individually.
  • Submission guidelines: The assignment should be submitted electronically on MarkUs.