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.
Topics we will discuss include the following and more:Section 5:
Section 6:
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.
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 cover a subset of lectures (indicated on the syllabus page). You will have roughly 2--3 weeks per problem set. 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 use the Python language and shell scripting. You will be using a Linux machine on iLab for all 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 28 lectures total). Lecture questions are handed 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.
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, 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 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.
Last updated: 2022-04-28 22:00:05 -0400 [validate xhtml]