|
|
Instructor |
Mina Tahmasbi Arashloo (mina.arashloo@uwaterloo.ca) |
Office Hours |
Tuesdays and Thursdays, 4:00 PM - 5:00 PM, DC 3510. |
Platforms |
LEARN and Piazza |
Teaching Assistants |
Elham Akbari Azirani |
eakbaria@uwaterloo.ca |
Mohamed Rouili |
mrouili@uwaterloo.ca |
Niloy Saha |
n6saha@uwaterloo.ca |
Michael Wrana |
mmwrana@uwaterloo.ca |
Mohammad Zangooei |
mzangooe@uwaterloo.ca |
|
Modern computer networks are complex distributed systems, with thousands of heterogeneous software and hardware components working together to deliver traffic from sources to destinations. They serve applications that demand much more than basic network connectivity, asking for certain levels of performance and reliability from the network.
In this course, we will discuss the fundamental concepts behind modern computer networks, using the Internet ecosystem and its protocols as our guiding example.
Following is a tentative schedule of lectures. Details are subject to change depending on how our in-class conversations go.
Readings are added to the schedule as we make progress throughout the term. They are optional and from the following resources:
- Computer Networking, A Top-Down Approach, James Kurose & Keith Ross, Pearson, 8th Edition (7th Edition is also fine).
- Research papers, blog posts, and platforms related to computer networks. References to these resources will be added to the schedule throughout the term.
Topic |
Dates |
Lectures |
Slides |
Readings (Optional) |
Project and Assignments |
Introduction |
Thu - Sep 7 |
- What is a network?
- What is the Internet? |
[lec01]
|
Textbook: Ch1
Other: Internet history
|
Tue - Sep 12 |
- Performance metrics
- Network protocols
- Some history
|
[lec02] |
The Application Layer |
Thu - Sep 14 |
- Application layer overview
- Web applications
|
[lec03]
|
Textbook: Ch2
Other:
Polaris
Vroom
|
Tue - Sep 19 |
- Email
- Video streaming
- Peer-to-peer file distribution
|
[lec04] |
Wed, Sep 20: Assignment 1 released |
Thu - Sep 21 |
- Domain Name System (DNS)
- Interfacing with the transport layer
|
[lec05] |
The Transport Layer |
Tue - Sep 26 |
- Transport layer overview
- Multiplexing and demultiplexing
- Unreliable connection-less transport
- User Datagram Protocol (UDP)
|
[lec06]
|
Textbook: Ch3
Other:
DCTCP
BBR
QUIC
|
Thu - Sep 28 |
- Reliable connection-based transport
|
[lec07] |
Thu, Sep 28: Project proposals due (CS 656) |
Tue - Oct 3 |
- Transmission Control Protocol (TCP)
|
[lec08] |
Wed, Oct 4: Assignment 1 due |
Thu - Oct 5 |
- Transmission Control Protocol (TCP) - Continued
|
[lec08] |
Thu, Oct 5: Assignment 2 released |
Reading Week |
The Transport Layer - Continued |
Tue - Oct 17 |
- Principles of congestion control
- TCP congestion control
- Evolution of transport-layer functionality
|
[lec09] |
|
The Network Layer |
Thu - Oct 19 |
- Network layer overview
- Midterm exam Q&A
|
[lec10]
|
|
Midterm: Tue Oct 24, during class time, location TBD |
The Network Layer - Continued |
Thu - Oct 26 |
- The Inernet Protocol (IP)
|
[lec10]
|
Textbook: Ch4, Ch5
Other:--
|
Thu, Oct 26: Project progress report due (CS 656) |
Tue - Oct 31 |
- The Inernet Protocol (IP) - continued
- Routing protocols
|
[lec11]
|
Thu - Nov 2 |
- Routing protocols - continued
- Making routing scalable
- Open Shortest Path First (OSPF)
|
[lec12] |
Thu, Nov 2: Assignment 2 due |
Tue - Nov 7 |
- Border Gateway Protocol (BGP)
|
[lec13] |
Wed, Nov 8: Assignment 3 released |
Thu - Nov 9 |
- Routers
- Destination-base forwarding
- Software-Defined Networking (SDN)
|
[lec14]
|
Tue - Nov 14 |
- End-to-End argument
- Middleboxes
- Network management tools and protocols
|
[lec15]
|
The Data Link Layer |
Thu - Nov 16 |
- Link layer overview
- Local Area Networks (LANs)
- Ethernet
|
[lec16]
|
Textbook: Ch6 (excluding 6.2, 6.5, and 6.6)
Other:--
|
Tue - Nov 21 |
- Virtual LANs
|
[lec17] |
Thu - Nov 23 |
- Multiple Access Channel (MAC)
|
[lec18] |
Router/Switch Architecture |
Tue - Nov 28
| - Router/switch architecture
- Buffering
- Scheduling
|
[lec19]
|
Textbook: Ch4, section 4.2
AND this lecture note
Other:--
|
Wed, Nov 29: Assignment 3 due |
Some Networks in the Wild :) |
Thu - Nov 30 |
- Wide-Area Networks (WANs)
- Datacenter Networks
- Wireless networks
|
[lec20]
|
|
Wrap-up & Review |
Tue - Dec 5
|
TBD
|
--
|
|
Tue, Dec 5: Project final report due (CS 656). No extensions possible (per school policy) |
LEARN: Course annoncements, slides, quizzes, and assignments will be posted on LEARN.
Piazza: We will use Piazza for course-related discussions. Piazza is catered to getting you help from classmates, the TAs, and the instructor. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza.
The final grade for the course will be based on the following components:
|
CS 456 |
CS 656 |
Quizzes |
10% |
10% |
Programming Assignments |
30% |
10% |
Midterm |
25% |
25% |
Final |
35% |
35% |
Research Project |
- |
20% |
Quizzes (10%): The goal of quizzes is to help you assess your understanding of the course material, and to help us as your instructors to pinpoint subjects that need extra discussion in the class. Here are the logistics:
- Every week that we have lectures, a quizz will be posted on LEARN on Thursday that week at 8PM EST.
- You have until Saturday at noon (40 hrs) to complete the quizz.
- Questions are multiple-choice and are about the material covered in class that week.
- You will have unlimited attempts. Hopefully, this helps you focus on your learning of the material without having to worry about your grade.
- A missed quiz cannot be retaken and doctor's note is not accepted for missed quizzes.
- You can miss two quizzes without it affecting your grade.
Programming Assignments - CS 456 (30%): There are three programming assignments, each counting as 10% of your final grade. Here are the logistics:
- Assignment specifications will be posted on LEARN.
- Assignments are to be completed individually and submitted to the appropriate Dropbox on LEARN.
- You have a total of four late days for the whole term.
- Use your late days to accommodate unexpected situations. No questions will be asked.
- Examples of unexpected situations include your internet connection being down right before the deadline or forgetting or missing the deadline.
- Your four late days are for the whole term, not per assignment.
- E.g.: If you use 2 late days for assignment 1, you have only 2 late days left to use for the rest of the assignments.
- Late days are tracked daily, not hourly.
- E.g.: If an assignment is due on Thursday at 11:59pm, and you turn it in the next day (Friday) at noon, you have used one of your late days.
- No extensions are granted if you have no late days left, so plan ahead and use them carefully.
- E.g.: If you have no late days left and submit the assignment after the deadline, you will not receive any points for the assignment
Programming Assignments - CS 656 (10%): There are three programming assignments. Choose two of the three to complete. Each will count as 5% of your grade. For the logistics, please see the above text for "Programming Assignments - CS 456".
Midterm (25%) and Final (35%) Logistics:
- Exams will be solely based on the materials presented in the class -- this includes the parts that may not necessarily be covered in the textbook.
- Exams are closed-book.
- The midterm exam will be during class time, on Tuesday, Oct 24. Location will be announced on LEARN.
- Date, time, and location of the final exam will be announced by the Registrar's Office.
- Midterm and final have to be passed, in the aggregate, in order to pass the course. That is, [(Midterm*25) + (Final*35)] / 60 >= 50%
- In the case of a missed exam, a medical certificate or doctor's note must be uploaded to the university's online portal.
- The certificate or doctor’s note must include the statement "This Student is unable to write the test on (date) for (medical reasons)".
- Documentation must show that the physician was consulted before or on the day of the exam.
- Only original copies can be accepted. A statement merely confirming a report of illness made by the student is not acceptable.
Research Project - CS 656 (20%): Students taking CS 656 are expected to work individually on original research projects related to computer networks. There are three deliverables for the project:
- Proposal (5%): You are expected to discuss your project ideas with the instructor at the beginning of the term, and submit a one page proposal, providing a clear problem statement, context and motivation, and a high-level overview of related work, by the end of week 3.
- Progress Report (5%): A month after the proposal, you are expected to submit a 2 page progress report.
- Final Report (10%): The final report, due at the end of the term, is a 6-page conference-style paper describing the problem statement and motivation, design, evaluation, related work, and future research directions.
Generative AI: Generative artificial intelligence (GenAI) trained using large language models (LLM) or other methods to produce text, images, music, or code, like Chat GPT, DALL-E, or GitHub CoPilot, may be used in this course with proper documentation, citation, and acknowledgement. Permitted uses of and expectations for using GenAI will discussed in class and outlined on assignment instructions.
Recommendations for how to cite generative AI in student work at the University of Waterloo may be found through the Library at
this link. Please be aware that generative AI is known to falsify references to other work and may fabricate facts and inaccurately express ideas. GenAI generates content based on the input of other human authors and may therefore contain inaccuracies or reflect biases.
In addition, you should be aware that the legal/copyright status of generative AI inputs and outputs is unclear. Exercise caution when using large portions of content from AI sources, especially images. More information is available from the Copyright Advisory Committee at
this link .
You are accountable for the content and accuracy of all work you submit in this class, including any supported by generative AI.
Territorial Acknowledgement
The University of Waterloo acknowledges that much of our work takes place on the traditional territory of the Neutral, Anishinaabeg and Haudenosaunee peoples. Our main campus is situated on the Haldimand Tract, the land granted to the Six Nations that includes six miles on each side of the Grand River. Our active work toward reconciliation takes place across our campuses through research, learning, teaching, and community building, and is centralized within the
Office of Indigenous Relations.
Mental Health Support: The Faculty of Math encourages students to seek out mental health support if needed.
On-campus Resources:
Off-campus Resources:
- Good2Talk (24/7): Free confidential help line for post-secondary students. Phone: 1-866-925-5454 (Ontario and Nova Scotia only)
- Here 24/7: Mental Health and Crisis Service Team. Phone: 1-844-437-3247 (Waterloo Region only)
- OK2BME: set of support services for lesbian, gay, bisexual, transgender, or questioning teens. Phone: 519-884-0000 extension 213 (Waterloo Region only)
- EMPOWER ME 1-833-628-5589 for Canada/USA. other countries see: http://studentcare.ca/rte/en/IHaveAPlan_WUSA_EmpowerMe_EmpowerMe
- EMPOWER ME in China:
China North 108007142831
China South 108001402851
Diversity:
It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students’ learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In particular:
- We will gladly honour your request to address you by an alternate/preferred name or gender pronoun. Please advise us of this preference early in the term so we may make appropriate changes to our records.
- We will honour your religious holidays and celebrations. Please inform us of these at the start of the course.
- We will follow AccessAbility Services guidelines and protocols on how to best support students with different learning needs.
AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
[Check
the Office of Academic Integrity for more information.]
Grievance: A student who believes that a decision affecting some aspect of their university life has been unfair or unreasonable may have grounds for initiating a grievance. Please read
Policy 70, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.
Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for their actions. [Check
the Office of Academic Integrity.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to
Policy 71, Student Discipline. For typical penalties, check
Guidelines for the Assessment of Penalties.
Avoiding Academic Offenses: Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the
Office of Academic Integrity's site on Academic Misconduct and the
Faculty of Mathematics' site on Academic Integrity.
Appeals: A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes they have a ground for an appeal should refer to
Policy 72 - Student Appeals.
Turnitin.com: Text matching software (Turnitin®) may be used to screen assignments in this course. Turnitin® is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit alternate assignment.