Description

This is an undergraduate level course covering the fundamental concepts of networking as embodied in the Internet. The course will cover a wide range of topics; see the lecture schedule for more details. While the class has a textbook, we will not follow its order of presentation but will instead use the text as a reference when covering each individual topic. The course will also have several projects that involve programming (mostly in Python).

Prerequisites

Required: CS 61A, 61B, Math 53 or 54. Contrary to what the EECS department website says, CS 162 is not a prequisite.

You should know programming, data structures, and software engineering. In terms of mathematics, your algebra should be very solid, you need to know basic probability, and you should be comfortable with thinking abstractly. The TAs will spend very little time reviewing material that is not specific to networking. We assume that you either know the material covered in those courses or are willing to learn the material as necessary. We won’t cover any of this material in lecture.

Enrollment

Please do not email us or post on Ed about the waitlist. All decisions concerning appeals for enrolling in the course are made by CS departmental staff; the course staff have no say in the matter. If you have questions or concerns, feel free to contact the departmental staff.

If you are finishing an incomplete this term, do NOT enroll in the course. Instead, please email the the course email cs168 (at) berkeley.edu to coordinate your plan for finishing the incomplete. Similarly, if you are given the grade of I (incomplete) this term, you should not re-register in CS 168 in a future term to complete the incomplete, and you should instead coordinate with the instructor and head TA in a future term in order to finish your incomplete.

Additionally, if you are finishing an incomplete this term, you cannot change any grades that you had in the gradebook in the semester you were given the incomplete.

Textbook

No textbook is required for this class, but we recommend Computer Networking: A Top-Down Approach, 7th edition by Jim Kurose and Keith Ross if you would like to dive deeper into the subject.

Lecture

Lectures will be held on Tuesdays and Thursdays from 3:30 PM to 4:29 PM in Dwinelle 145. Lectures will be recorded and released one week after the lecture date. Lecture attendance is mandatory after the first week of classes.

Attendance

There will be online quizzes during some lectures. These quizzes are meant to gauge which topics we should focus on more in discussions and lectures as well as to encourage attendance. Attendance will form 5% of your final grade. To get full credit, you must pass at least 50% of the quizzes (a passing grade is >20%). Quizzes will be released in lecture via Gradescope.

Discussion

See the calendar and the weekly announcements on Ed for the full discussion schedule. Often times, TAs will pick which questions to go over during section, meaning not all questions may be covered. Walkthroughs will be recorded for future viewing.

Office Hours

Discussion TAs and instructors will hold content office hours throughout the week. These office hours will be for content related questions ranging from lecture material to exam preparation.

During project weeks, project TAs will hold project office hours. Due to the high demand during these, please queue yourself.

Projects

Projects will be graded by a script which will run the submitted code under a variety of conditions. Grades will be determined automatically from the results from the script. Projects are to be completed individually. You are not allowed to work with a partner.

You may not share code with any classmates. You may discuss the assignment requirements or general programming decisions (e.g., what data structures were used to store routing tables) - away from a computer and without sharing code - but you should not discuss the detailed nature of your solution (e.g., what algorithm was used to compute the routing table). Also, it is your responsibility to make sure your code is not publically accessible to others in any way. Your grade will suffer if you violate this requirement.

For example, if you are using Github, or other such services, ensure that your repository access is set to private (as a student, you have unlimited private repositories on GitHub!). Likewise, ensure that you do not put your code on public clipboard sites such as pastebin. If we find that someone has copied your code (even without your knowledge), you will be deemed equally responsible and will face the same penalty as the person who copied it.

Homework

There will be one paper reading assignment. You will be reading “The Design Philosophy of the DARPA Internet Protocols” by David D. Clark. More details will be posted about this assignment in the future.

Exams

The midterm is on Tuesday, March 12, 7–9 pm PT.

The final exam is on Friday, May 10, 7–10 pm PT.

Please do not discuss the exam until solutions are released.

Both exams will be closed book with the exception of cheat sheets. For the midterm, you will be allowed a single 8.5” by 11” double sided sheet. For the final, you will be allowed two 8.5” by 11” double sided sheets. The cheat sheets must be handwritten.1 For example, copying & pasting lecture slides is forbidden. You may use a tablet to write out and print your sheets.

The exams will cover material from lecture, discussions, and projects.

Exam logistics will be released closer to the exam dates. If you are unable to take the exam at the scheduled time, we will be offering only one alternate exam time, in-person only, immediately after or before the scheduled exam. We’ll not be offering any remote exam options. We are only offering the alternate exam time if you are unable to take the exam at the normal time. We’ll release a form closer to the exams for you to ask for an alternate-time exam.

Grades

The course will be graded on a curve that is consistent with department guidelines. A+ is reserved for the very few best students in the class. Graduate students and re-entry students are not included in establishing the curve, but they will receive grades based on where they would fall on the curve.

Your grade is based on a combination of projects, and exams, in the following proportions.

Category Percentage
Project 1 15%
Project 2 15%
Project 3 15%
Attendance 5%
Homework 5%
Midterm 20%
Final 25%

Extensions

We understand that life is unpredictable, and want to work with you to make sure you are supported. While we do not provide slip days in this course, please request an extension for any deadline by filling out the extensions form (TBA) if you are a DSP student or have extenuating circumstances

If assignments are late, they are penalized as follows:

Lateness Penalty
< 24 hours -10% (0.9 * your raw score)
< 48 hours -20% (0.8 * your raw score)
< 72 hours -40% (0.6 * your raw score)
>= 72 hours -50% (0.5 * your raw score)

You may only submit ONCE if you are more than three days late.

If you receive less than 50% on any project, you may choose to redo it ONCE for up to 50% of the maximum score.

Any project turned in after May 3rd (Last Day of Instruction) 11:59 PM will not receive any credit.

Ed

Ed will be the main mode of communication. It is your responsibility to check Ed on a frequent basis to make sure you’re up to date on important logistics.

The following rules are in place to keep Ed organized. Any violation of the rules may result in your post being removed. Repeated violations will result in a ban from the forum.

Posts

Prior to making a post, make sure you’ve spent some time trying to tackle the problem on your own. These include

Format

When making a new post, make sure the title is descriptive of the issue. In the body, make sure to include,

Please format your question in a legible way! If using any code, make sure to use the code formatter and similarly for math equations. Check out Ed’s text editor options or use markdown!

There should be a very small number of new posts regarding content. Please ask questions as follow-ups on appropriate threads for each homework, project, discussion, or lecture. There will inevitably be some posts about logistics, but these should be posted as follow-ups as well whenever possible. If you ask a question as a new post instead of putting it in the appropriate thread, we will ask you to move it before answering.

One of the primary reason for students posting as a public post instead of in a thread is to make sure their post gets visibility. However, follow-ups and public posts get the same amount of visibility from staff because we will monitor posts by filtering “Unresolved follow-ups”.

Do not follow-up with “+1” on posts and instead use the like feature instead. Make sure to resolve and unresolve questions appropriately.

Inclusivity

Any content on public forums like Ed that similarly targets, excludes, disrespects or discriminates against a certain individual or community will be removed and the person responsible for the content will face repercussions. Please aim to keep the climate inclusive for everyone.

If at any point you have felt targeted, excluded, disrespected, or discriminated against by a student or someone from course staff, please report the incident with any member of course staff that you are comfortable with or the Head TAs or professor. If you would rather not speak to someone from staff, consider contacting the ASUC Student Advocate’s Office.

Academic Integrity

It’s OK to ask someone about the concepts, algorithms, or general approaches needed to do the project assignments. We encourage you to do so; both giving and taking advice helps you to learn. However, what you turn in must be your own; copying other people’s code, solution sets, Google safaris, or from any other sources is strictly prohibited. If you are unsure, then ask.

One technique we will use to detect cheating is an automated system that performs comparisons across documents. It flags suspicious similarities, which we then inspect manually.

If elements of two assignments are determined to be clearly very similar (i.e., we believe that they were done together or one was copied from the other), both the copy-ers and the copy-ees will receive a 0 for that assignment. At the end of the semester, the course grade for all students involved in the incident will furthermore be reduced by one letter grade for the first offense, and to an F for the second offense. The reduction in grade may be taken without discussion or warning; the first notice you receive may be a letter indicating the penalty. In addition, for every instance, a letter to the Office of Student Conduct will be attached to your permanent record, and a copy will be placed in the CS division office. More serious cases of cheating (e.g., cheating on exams) will engender accordingly more severe penalties.

Again, note that you are responsible for not leaving copies of your assignments lying around and for protecting your files from unauthorized reading.

Computing Facilities

Students enrolled in the class will be given an instructional account. Most of the Unix systems have cross-mounted file systems, so you can generally work on other EECS Unix systems. Your final run for each assignment must be done under that account, and must run on x86 Ubuntu machines.

If your machine is too busy, you can find other EECS computers on Hivemind.

Last built: 2024-03-29 02:24 UTC