CS 340: Introduction to Computer Networking

Announcements

Remember to check this site (and Canvas) regularly.

Quick links:


Staff

Instructor Fabian E. Bustamante Seely Mudd 3509 Email: fabianb@cs...

TAs


Course Description

This course introduces the basics of networking, ranging from sending bits over wires to the Web and distributed computing. We focus on the networking ground between these two extremes, particularly focusing on the engineering of the Internet. Topics include packet switching and routing, flow control, congestion control and quality-of-service, Internet protocols, security, software-defined networking, and the design of network services.


Communication Channels

  • We will use the course website to post announcements and Canvas to post assignments. Check these regularly for schedule changes, clarifications, and corrections.
  • We will use Piazza for class discussion. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza.
  • There is always email for questions that would be inappropriate to post on the discussion board. When using email to contact the staff please start your subject line with: CS340: <helpful-comment>

Course Organization

The course is organized as a series of lectures and paper discussions, four projects, a midterm, and a final exam.

  • Lectures – A set of lectures on the core of the material.
  • Readings – Textbook and paper reading in preparation for (not substitution of) the lecture.
  • Homework assignments – A set of assignments meant as reading enforcers.
  • Wireshark Labs – A set of labs to let you see network protocols in action.
  • Projects – Three programming projects to give you a better understanding of the subject matter.
  • Midterm and Final exam (cumulative).

Grading

Grading is criterion-referenced, not curved: your grade is based on how well you do relative to predetermined performance levels, not in comparison with the rest of the class. If a test has 100 possible points, anyone with a score of 90 or greater will get an A (90–93: A-), those with scores of 80 or greater will get a B, those with scores of 70 or greater will get a C, and so on.

Total scores (between 0 and 100) will be determined, roughly, as follows:

  • Projects: 35%
  • Midterm Exam: 20%
  • Final Exam: 25%
  • Homework Assignments and Wireshark Labs: 15% (7% HW + 8% Labs)
  • Participation (in class and Piazza): 5%

Policies

Late policy

Unless otherwise indicated, homework assignments and projects are due by midnight on their due date. If you hand in an assignment late, we will take off 10% for each day (or portion thereof) it is late. Assignments that are three or more days late receive no credit.

Cheating vs. Collaboration

Collaboration is encouraged. Cheating is considered a very serious offense. It is OK to meet with colleagues, study for exams together, and discuss assignments. However, what you turn in must be your own (or for group projects, your group’s own) work. Copying code, solution sets, etc., from other people or any other sources is strictly prohibited.


Accessibility

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact Services for Students with Disabilities (SSD) at +1 847 467-5530 or ssd@northwestern.edu. SSD is located in the basement of Scott Hall. Additionally, the instructor is available to discuss disability-related needs during office hours or by appointment.