01:198:352 Fall 2022 (sec 1,2,3): Internet Technology Home

Overview

The Internet has become an indispensable part of our life, especially after the 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.

Topics we will discuss include the following and more:

Lecture and Recitation details

Recitation sections

This course has three recitation sections. The TA of each section will hold separate office hours.

Section 1:

Section 2:

Section 3:

Logistics

This course will use Canvas and Piazza.

Lecture materials and a full class schedule will be available on the syllabus page.

All course announcements will occur on Canvas.

Grading

Your final course will be based on the following components:

This course uses absolute grading thresholds; there is no curve.

Any materials due on a specific day are due at 8 pm Eastern Time on that day.

The schedule of the problem sets, programming projects, and lectures are available in the syllabus page.

There will be two mid-terms and one final exam. You are allowed a single letter-paper cheat sheet for referencing during these exams. The sheet must be handwritten by you. The mid-terms will be in class during lecture hour. The final exam will be be during the designated time during the finals period.

Problem sets will be due the week before each major exam of the course. They will include questions from the majority of the material covered for the forthcoming exam and may serve as a reference for the kinds of questions you may expect on the exam. Problem sets are released and handed on Canvas.

For exams, problem sets, and project report responses, please keep your answers clear and concise. You will receive 25% of the credit for any question which you leave blank or clearly write "I don't know". Vague and rambling answers will receive zero credit. Calculators are allowed.

There are five programming projects. You will work in teams of 2 and have roughly 2--3 weeks to finish each project. Under extenuating circumstances, you can change teams, but normally we expect you to stick to the same partner over the semester. The projects will mostly use the Python language and shell scripting. You will be using a Linux machine on iLab for almost all the programming assignments. Projects are released and handed on Canvas. A programming solution and a write-up (questions detailed under each project) will be required for each project.

We will provide instructions for packaging and handing in your programming projects. You must follow these instructions exactly. If we cannot run your programs, you will lose a significant portion of points. If you hand in a programming assignment late, you will lose a significant fraction of points.

Per-lecture question sets are due at the end of the day of the corresponding lecture. They should ideally take just 5--10 minutes of your time. We will consider the 20 highest scores among all lectures (there are 26 lectures in total). Lecture questions are open book and you may freely consult the materials provided in class (lectures, textbooks, etc.). However, you may not search for answers on the Internet. Lecture questions are handed in on Canvas.

In general, late submissions to any component of the course are disallowed unless exempt by medical or religious reasons allowable by the University or the explicit permission of the faculty instructor.

Collaboration, Referencing, and Academic integrity

This course welcomes open discussion and intellectual collaboration. For example, you can get help on Piazza and email from the instructors and your peers.

You are free, in fact, encouraged, to collaborate on problem sets and projects. However, all answers, code, and any work submitted in this course must be your (or your team's) own. You must fully understand and provide your own solutions, rather than blindly incorporate the solutions from discussion or references. You are also explicitly forbidden from looking at another team's code or solution code from other sources (e.g., from GitHub or CourseHero).

Copying code from the web, including from Stack Overflow and GitHub, is considered cheating. Posting exams, programming project questions or code (problem or solution), or problem sets on GitHub or Chegg is a violation of Rutgers and CS Academic Integrity Policy.

Each problem set and programming project will include a prompt to state who you collaborated with and which resources, possibly on the Internet, that you consulted. You must be as thorough and complete as possible.

Collaborating on written exams and lecture questions is a violation of Rutgers integrity policy.

You are required to abide strictly by the Rutgers New Brunswick academic integrity policy and also the Rutgers Computer Science integrity policy.We will use sophisticated software to detect plagiarism. Any violations will be reported to the University's office of student conduct. Ignorance of integrity policies is not excusable if you are found in violation. If you are in doubt, please ask the course staff.

Rutgers University takes academic dishonesty very seriously. By enrolling in this course, you assume responsibility for familiarizing yourself with the Academic Integrity Policy and the possible penalties (including suspension and expulsion) for violating the policy. As per the policy, all suspected violations will be reported to the Office of Student Conduct. Academic dishonesty includes (but is not limited to):

If you are ever in doubt, consult your instructor.

Enabling your success in this course

Accommodations

Should you need accommodations, please register for accommodations and consult the policies and procedures of the Office of Disability Services website.

Statement of student success and support

In the last few years, we have all been going through a lot, individually and together. It is important to acknowledge that events and circumstances outside of the classroom can impact our ability to be present and engaged at any given moment. At Rutgers, we are focused on the whole student. If, at any point, you experience anything impacting your performance or ability to participate in this class, please reach out to me. Please also see the academic, health, and mental wellness resources on the syllabus as well as others searchable at https://success.rutgers.edu/ for further support.

Other support resources:

Questions?

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.

Acknowledgments

This course would have been impossible without starting material from Jennifer Rexford and Badri Nath. Also 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. Many images on the slides are from openclipart.org.

Last updated: 2022-12-13 10:33:39 -0500 [validate xhtml]