352, Spring 2021: Internet Technology

Latest Announcements

05/12: Grades available
Your final scores (out of 100) and corresponding letter grades are available on Canvas now.
The grade cut-offs are derived from a standard Rutgers rubric, e.g. available at http://catalogs.rutgers.edu/generated/nwk-ug_0608/pg23019.html
Please write to me if you have any questions. I hope to submit the grades to the registrar in about 24 hours.
Thanks for a great semester! It has been fun having you all in my class.
05/06: Final exam will be available starting May 6 at 8 pm ET
The exam window runs between 8 pm ET on May 6th and 8 pm ET on May 11th. Please submit by 8 pm ET on May 11th.
The exam lasts 2 hours and 15 minutes and is scored out of 60 points.
The final exam covers lectures 1 through 26 inclusive.
Please abide by the honor code -- it's the same as the one from mid-term 1 and mid-term 2, found at https://rutgers.instructure.com/courses/104841/discussion_topics/1434219
All the best!

See all announcements


The Internet has become an indispensable part of our life, especially with the ongoing global pandemic. As its consumers, we might often take its existence and reliability for granted.

But how does this global communication infrastructure really work?

This course will provide students with a thorough understanding of the principles and practice of the Internet and computer networking, through an introduction to the design, architecture, and foundational tenets of large-scale networks, as well as hands-on programming exercises and activities.

Questions we will answer include:

and more!

Recitation sections

This course has two recitation sections. There will be a common recitation video uploaded each week on a specific day (TBA). Your TAs will hold separate office hours.

Section 1:

Section 2:

Course logistics

Recorded lecture materials will be released on the dates shown on the syllabus page and will be available from the course web page. This course uses the Canvas course management system and a Piazza discussion forum. Students will be expected to go over the uploaded material and respond to assessment questions provided each week (see assessments). Students will work on three programming homeworks in teams of two.

The full schedule of lectures, quizzes, projects, and mid-terms is available on the syllabus page.

Course-related communication (e.g., announcements) will happen primarily over Canvas and the course web page. Students are welcome and encouraged to post questions and discussions to Piazza.

Grading policies

The course will be graded with absolute grade thresholds.

Your grade consists of points from individual weekly assessment quizzes (closed-book), two mid-terms (open-book), and a final-exam (open-book), and three programming projects developed in teams of 2. There will also be an individual extra-credit optional homework released just before spring break and due close to the end of the semester.

The exact breakdown of the points is available on the assessments page. The detailed schedule of the assessments is available on the syllabus page.

Course plagiarism and integrity policy

This course welcomes and encourages open discussion and intellectual collaboration. You are most welcome to get help from the instructors and from other students over Piazza and email.

However, when it comes to assessments, you must strictly abide by the Rutgers New Brunswick academic integrity policy and also the Rutgers CS policy.

Closed book tests must be taken without consulting external sources. Open-book tests can only involve consulting the textbook, lecture and class materials, and any notes made on your own.

Collaborating on any of the online tests is a violation of academic integrity policy. Further, all submitted work, including project reports, software, and homeworks, must be your own or from your team.

The only exceptions to this rule are: (i) if you referenced sources on the Internet (e.g., stack overflow) for a programming project, (ii) used a library software you found on the Internet for a programming project, (iii) discussed a programming project with a friend outside of your team without looking at each others' code, or (iv) referenced materials on the Internet including academic literature to read regarding the extra credit homework. In all the above cases, you must reference and cite the source appropriately in the corresponding assignment report and/or mention the name of the person you worked with.

Violations of the academic integrity policies will be taken very seriously. Ignorance of the policies will not be considered excusable if you are found in violation.


The prerequisite for CS 352 is Computer Architecture (CS 211). System Programming (CS 214), while not a prerequisite, is strongly recommended. You may also get much more out of the course if you've taken or are concurrently taking Operating Systems (CS 416).


The course has a Piazza page which is also accessible through the Canvas system. You can also email the course instructor at sn624@cs.rutgers.edu.


This course would have been impossible without starting material from Jennifer Rexford and Badri Nath. Also, I offer many thanks to Dave Andersen and Nick Feamster for their coursegen software on which these course pages are heavily based. We also thank Jim Kurose and Keith Ross for the slide decks accompanying their textbook; some of the slide decks in this course draw heavily from their slides.

Last updated: 2021-05-12 16:18:43 +0530 [validate xhtml]