Fall 2021
CS242
A top-down study of computer networks, with a focus on the Internet
Office hours:
Virtual join-in office hours Tuesday 2pm-3pm
Virtual appointments available Wednesday 1pm - 3pm (Use this link to set up an appointment)
OR Email me :)
Office hours:
Wednesday and Thursday 4:30pm - 5:30pm
Date | Lecture topic | Textbook reading | In-lecture Notes | More resources |
---|---|---|---|---|
Sep 09 | Introduction | Chapter 1 | Slides Tell me more about you! |
Textbook companion website |
Sep 13 | What's a network? | Chapter 1 | Slides First wireshark lab |
Extra Videos |
Part I: App to App | ||||
Sep 16 | Protocol layers and the application layer | Chapter 2 - section 2.1 | Slides | Pre-recorded lecture from Fall 2020 |
Assignment 1 - due Friday (Sep 17) at noon | ||||
Sep 20 | How does a browser work? (HTTP) | Chapter 2 - section 2.2 | Slides | Pre-recorded lecture from Fall 2020 |
Sep 23 | Socket programming | Chapter 2 - section 2.7 | Slides | |
Assignment 2 - due Friday (Sep 24) at noon | ||||
Sep 27 | How does EMail work? | Chapter 2 - sections 2.3 | Slides | Pre-recorded lecture from Fall 2020 |
Sep 30 | What's in a name? (DNS) | 6th: Chapter 2 - section 2.5 8th: Chapter 2 - section 2.4 |
Slides | Pre-recorded lecture from Fall 2020 |
Prep for Programming assignments - not required but recommended WireShark Lab 1 Watch the video posted on Piazza and try to replicate the code | ||||
Oct 4 | How does Video Streaming work? | 8th: Chapter 2 - section 2.6 | Slides | Pre-recorded lecture from Fall 2020 |
Oct 7 | Peer-to-Peer applications | 6th: Chapter 2 - section 2.6 8th: Chapter 2 - section 2.5 |
Slides Final project description |
Pre-recorded lecture from Fall 2020 |
Programming 1s - due Friday (Oct 8) at noon | ||||
Oct 11 | Fall break | |||
Part II: Endpoint to Endpoint | ||||
Oct 14 | Transport layer and UDP | Chapter 3 - sections 3.1 to 3.3 | Slides | Pre-recorded lecture from Fall 2020 |
Oct 18 | Reliable data transfer | Chapter 3 - section 3.4 | Slides | Pre-recorded lectures from Fall 2020 (part 1 and part 2) |
Oct 21 | What is TCP? | Chapter 3 - sections 3.5 | Slides | Pre-recorded lectures from Fall 2020(part 1 and part 2) |
Assignment 3 and Programming 2 - due Friday (Oct 22) at noon | ||||
Oct 25 | What is TCP? | Chapter 3 - sections 3.5 | Slides | Pre-recorded lectures from Fall 2020(part 1 and part 2) |
Oct 28 | More on TCP | Chapter 3 - section 3.5 | Slides | Pre-recorded lectures from Fall 2020 (part 1 and part 2) |
Oct 28 to Oct 31 |
Exam 1 Virtual and PYOT (Pick Your Own Time) | |||
Nov 1 | Congestion control in transport | Chapter 3 - sections 3.6 and 3.7 | Slides | Pre-recorded lectures from Fall 2020(part 1 and part 2) |
Part III: Through the core | ||||
Nov 4 | What's a router? | Chapter 4 - sections 4.1 to 4.3 | Slides | Pre-recorded lectures from Fall 2020 (part 1, part 2, and part 3) |
Assignment 4 - due Friday (Nov 5) at noon | ||||
Nov 11 | Pass the message (IP) | Chapter 4 - section 4.4 | Slides | Pre-recorded lectures from Fall 2020 (part 1, part 2, part 3, and part 4) |
Nov 15 | Who should I pass it to? (Routing) | Chapter 4 - section 4.5 | Slides | Pre-recorded lectures from Fall 2020 (part 1) |
Nov 18 | Routing at the Internet scale | Chapter 4 - section 4.6 | Slides | Pre-recorded lectures from Fall 2020 (part 1) |
Assignment 5 - due Friday (Nov 19) at noon | ||||
Nov 22 | More on the Network layer (SDN and Clouds) | Chapter 4 (mainly) | Slides | [Optional] Full videos on Clouds, SDN - part 1, and SDN - part 2 |
Nov 25 | Thanksgiving break | |||
Part IV: Machine to machine(To be updated ...) | ||||
Nov 29 | Link layer 1 | 6th: Chapter 5 - Sections 5.1 to 5.3 | Slides | Pre-recorded lectures (part 1, part 2, and part 3) |
Dec 2 | Link layer 2 | 6th: Chapter 5 - Sections 5.4 and 5.5 | Slides | Pre-recorded lectures (part 1, part 2, and part 3) With an optional 10 minute video on Virtual LANs |
Assignment 6 - due Sunday (Dec 5th) at noon | ||||
Dec 6 | Wireless Networks and a bit of security | Various resources including Chapter 6 | Slides | |
Dec 9 | Review lecture | Add your questions here | ||
Dec 8 to Dec 12 |
Exam 2 Virtual and PYOT (Pick Your Own Time) | |||
Dec 13 | Final Presentations | No reading |
|
Prerequisites The prerequisite for CS242 is CS230 - Data structures.
Textbook The course textbook is Computer Networking: A Top-Down Approach Featuring the Internet, written by James F. Kurose and Keith W. Ross and published by Addison Wesley. Copies of the text are available in the College Bookstore. Every lecture, there will be required readings from the textbook and sometimes other sources.
Course Group
Make sure that you are added to the Course's Slack group. This group has several
purposes, one of which is class announcements.
I encourage you to use it for class discussions, and questions.
If you know the answer to a classmate's question, feel
free to post a reply yourself. Please do not post any
code in your messages on the group!
Virtual Platforms This term, we'll be using several online platforms for course management, assignment feedback, social interaction, and community-building. You will receive invitation to join all of these platforms after the first lecture.
Lectures Lectures will be held in-person every Monday and Thursday from 11:10 am to 12:25 pm.
Assignments There will be a mix of written assignments and programming assignments. Written assignments are individual assignments, and programming assignments are to be completed in pairs. All assignments should be submitted via Gradescope.
Exams: Although there will be no final exams in the course for the Fall 2020 semester, they will be replaced with two virtual mini-exams, which are open-book and open-notes, with no collaboration. The dates of the quizzes are listed on the schedule. Please mark the dates in your calendars as they are not flexible.
Final Project: Before the second half of the
semester, project teams of 2-3 students work on a final project.
I have prepared for your a list of project topics, but other project ideas are welcome! If your group prefers to work
on an interesting application or problem, we can discuss it.
Each team will give a short presentation of their "almost" final project during
the last meeting of the semester, and will submit the final project with its documentation before the last day of exams.
Support in the course will be virtual, through Zoom chats, Slack discussions, and emails.
Christine's Office Hours I'll be holding twoo types of virtual office hours; group office hours and one-on-one office hours. Please check the information at the top of this webpage for more details.
Elaney's Office Hours TBD
You know that collaboration is awesome! It's extremely important for each of you to communicate with others and collaborate, especially during yet anoher atypical semester.
You will be expected to work with a partner on all course assignments, as well as the final project.
For assignments, I will randomly pick the two-team members, and the pairings will be for the duration of a whole week. With every course unit, I will switch it up, so that each of you gets to work with as many people as possible during the term. For the project, you can partner with any of your classmates.
The two team members can (in fact, must; see below) work closely together on the assignment/exercises and turn in a single copy of the assignment for the team. The grade received on such a submission will be given to both team members.
This is a rather unusual collaboration policy, and it is only allowed subject to the following ground rules:
• The work on group problems must be a true collaboration in which
each member of the team will carry their own weight. It is not acceptable
for two team members to split the group problems of an assignment
between them and work on them independently. Instead, the two team
members must actively work together on all parts of the assignment.
• Rotating through partners is a good way to build community
in the class and is helpful for avoiding situations where one individual
feels pressured to continue working with another. This is why, I will be pairing all of you. Pairings will be random, but also guided by your working style and habits.
• Ofcourse, there is always room for flexibility. If during one assignment/week, you can't work with your partner, we will figure it out. All you need to do is talk to me! Based on past experience, working with a
partner can significantly decrease the amount of time you spend on
an assignment, because you are more likely to avoid silly errors and
blind alleys.
Unless otherwise instructed, teams are allowed to discuss the problem
set with other teams and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of
others. Therefore, I require that each team must
compose its own solution to each assignment.
In particular, while you may
discuss general strategies for approaching the assignments with other teams,
each team is required to write up their own solutions separately.
In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. E.g., if person X gets a key idea for solving a problem from person Y , person X’s solution should begin with a note that says “I worked with Y on this problem” and should say “The main idea (due to Y ) is ...” in the appropriate places. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.
When working on homework problems, it is perfectly reasonable to use materials from the textbooks and other materials handed out in class. It is also reasonable to consult public literature (books, articles, etc.) for hints, techniques, and even solutions. However, you must cite any sources that contribute to your solution. There is one extremely important exception to this policy: assignments and solutions from previous terms of CS242 are not considered to be part of the “public” literature. You must refrain from looking at any solutions to problem sets or exams from previous semesters of CS242. It is my policy that consulting solutions from previous semesters of CS242 constitutes a violation of the Honor Code.
Wellesley College considers diversity essential to educational excellence, and we are committed to being a community in which each member thrives. The College does not allow discrimination or harassment based on race, color, sex, gender identity or expression, sexual orientation, ethnic or national origin or ancestry, physical or mental disability, pregnancy or any other protected status under applicable local, state or federal law. If you or someone you know has experienced discrimination or harassment, support is available to you: