CSC458/2209 - Computer Networks — Fall 2019

  • Class web page --

Section L0101

  • Instructor: Prof. Y. Ganjali

  • Class Time: Thu. 1-3 PM, Location: BA1220

  • Tutorial: Fri. 11-12 PM, Location: BA1220

  • Office hours: Tue. 3-4 PM, Thu. 3-4 PM, Location: BA5238

Section L0201

  • Instructor: Prof. Y. Ganjali

  • Class Time: Tue. 1-3PM, Location: ES B149

  • Tutorial: Fri. 1PM-2PM, Location: ES B149

  • Office hours: Tue. 3-4 PM, Thu. 3-4 PM, Location: BA5238

Section L5101

  • Instructor: Prof. P. Marbach

  • Class Time: Tue. 6-8 PM, Location: BA1210

  • Tutorial: Tue. 8-9PM, Location: BA1210

  • Office hours: Tue. 5-6 PM, Location: BA5224

Course Description

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; network security; wireless networks. Emphasis on programming and experimental analysis of real network components.


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.


  • Computer Networks: A Systems Approach (5th Edition), Peterson, Davie, 2011.

Recommended Books

  • "UNIX Network Programming, Volume I: The Sockets Networking API", W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff, 3rd edition, 2003.
  • "TCP/IP Illustrated, Volume 1: The Protocols", W. Richard Stevens, W. Richard Stevens, 1993.

Teaching Assistants

Here is the list of teaching assistants, their responsibilities, and their email addresses. 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:

Grading (for Undergraduate and Graduate Students)

  • 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 this year.

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.

Bulletin Board and Class Mailing List

Please use the bulletin board (on Piazza) to ask questions from TAs. 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.

There is also a class mailing list which will be used by the TAs and the instructor for announcements. Please never use the class mailing list for questions. There are many students in class and we’d all be flooded with e-mails.

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. :-)


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.