Announcements
Most announcements will be on Piazza.
Class Info
Class: Tuesday/Thursday 2:00 - 03:45PM, Science Center 181
Professor: Vasanta Chaganti
Lecturer: Charlie Kazer
Piazza: Q&A Forum
GitHub: Swarthmore GitHub Enterprise
Grades: Grades will be posted on Piazza, using GradeSource.
Office hours:
Charlie |
Tuesday 10.00 - 11.30 AM |
Thursday 4.00 PM - 5.30 PM |
Vasanta |
Monday 2.30 - 4.30 PM |
Friday 11.00 AM - 1.00 PM |
Weekly Lab Sessions: Vasanta & Charlie
Section A/C |
Wednesday 1.15 - 2.45PM |
Clothier 016 |
Section B/D |
Wednesday 3.00 - 4.30PM |
Clothier 016 |
Welcome to CS43, Computer Networks! This course will introduce fundamental ideas in computer networking. The structure of this course may be different from many other CS courses at Swarthmore. We will be using a teaching model called Peer Instruction, which places a strong emphasis on classroom discussion and student interaction.
The course is composed of the following:
-
Readings: The readings serve as a first exposure to new topics, where students learn the basics of the material.
-
Class meetings: The classroom material will cover the difficult concepts and facilitate student discussions.
-
Labs: There are several lab programming assignments (mostly in C) that will explore various aspects of network programming.
-
Exams: There is a midterm exam and a final exam (both closed-book) covering the material in the class meetings and labs.
Required Textbook & Clicker
Computer Networking: A Top-Down Approach by Kurose and Ross. ISBN: 978-0133594140.
We will be using the Seventh Edition.
iClickers: This course will use iClickers to facilitate feedback and discussion during class. For many upper level courses including CS43, clicker will commonly be used in class. Clickers may be purchased at the college bookstore or online. Please register your device as soon as you get it. Registering allows me to give you credit for quizzes and class participation. We will begin using clickers for credit at the start of week 2!
Goals for the course
By the end of the course, we hope that you will have developed the skills to:
-
Classify network functionality into the appropriate abstraction layer.
-
Characterize the behavior of popular network applications and protocols (HTTP, SMTP, DNS, etc.).
-
Construct distributed applications using various concurrency models.
-
Design and analyze network application protocols.
-
Identify the role of transport protocols in providing reliability and high performance.
-
Implement routing algorithms and analyze routing protocols.
-
Compare and contrast switching and forwarding platforms.
-
Test and debug networked applications.
Schedule
This is a tentative schedule; it may change as we go. You should read the assigned sections before class to prepare for class discussion points. All readings refer to the Kurose and Ross textbook unless otherwise indicated (e.g., there’s a link to some other source).
WEEK | DATE | ANNOUNCEMENTS | TOPIC & READING | LAB ASSIGNMENTS |
---|---|---|---|---|
1 | Sep 03 | Course Introduction, Protocols and Layering | No Lab | |
Sep 05 | Layering and HTTP | |||
2 | Sep 10 | HTTP | ||
Sep 12 | Socket Programming: Concurrency & Non-blocking I/O | |||
3 | Sep 17 | Concurrency & Non-blocking I/O, Network Applications & Distributed Systems | ||
Sep 19 | Naming and DNS | |||
4 | Sep 24 | DNS Contd. | ||
Sep 26 | Email and SMTP | |||
5 | Oct 01 | BitTorrent | ||
Oct 03 | DHTs and CDNs | |||
6 | Oct 08 | Transport Services and UDP | ||
Oct 10 | ||||
Oct 15 | Fall break | |||
Oct 17 | ||||
7 | Oct 22 | Midterm | ||
Oct 24 | UDP | |||
8 | Oct 29 | Reliable Transport | ||
Oct 31 | Transport Control Protocol | |||
9 | Nov 05 | Flow and Congestion Control | ||
Nov 07 | Network Layer Introduction | |||
10 | Nov 12 | IP | ||
Nov 14 | NAT, ICMP, IPv6 | |||
11 | Nov 19 | Routing Algorithms | ||
Nov 21 | Routing on the Internet | |||
12 | Nov 26 | Traffic Management | ||
Nov 28 | Thanksgiving | |||
13 | Dec 03 | Link Layer | ||
Dec 05 | Media Access | |||
14 | Dec 10 | Switches and LANs | ||
Dec 17 | Final Exam: SCI 199: 2.00 - 5.00PM |