Teaching Assistant in CS 640

Introduction to Computer Networks, UW-Madison

What is this course?

This course is an advanced, senior-level offering for undergraduate students and an introductory course for graduate students. It dives deep into the system design of computer networks, covering a majority of topics from the book Computer Networks: A Systems Approach.

Course website: CS 640, Fall 2022: Introduction to Computer Networks

My Role as a Teaching Assistant in this Course

  1. Delivered short lectures to introduce and review each assignment project, which helped students gain a more in-depth understanding.
  2. Conducted office hours to assist students with queries pertaining to the lectures and projects.
  3. Collaborated with other TAs to modify and write test scripts for assignment projects.
  4. Provided support to the professor by printing, collecting, and grading weekly quizzes and exams.
  5. Engaged in active discussions and resolved queries on Piazza.
  1. Teaching, Presenting, Public Speaking
  2. Understanding of concepts of Computer Netorks
  3. Bash/Python Scripts
  4. Collaboration, Communication

My Reflections

This course provides a comprehensive exploration of the fundamental design principles of computer networks, examined through the lens of various layers.

Why should you consider this course?

I strongly recommend this course if you’re keen to understand the foundational concepts behind the diverse services we enjoy today, such as streaming, file storage, messaging, and more.

What about the workload?

Compared to other senior-level programming courses at UW-Madison, this course offers a moderate workload.

The projects involve the implementation of a range of applications using Java and Mininet, including performance analysis tools using mininet and sockets, link/network layer forwarding functionality, ARP/IP/ICMP, SDN, DNS, and flow control. There’s also an optional project on distributed sorting. These projects provide practical exposure to network design, reinforcing the theoretical concepts covered in the course.