This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class. Individual exceptions to the policies and schedule are granted only in cases of true emergency. Please make arrangements with me if an emergency arises.
In this course we examine the technology and fundamental principles governing communications between computers, i.e., computer networking. Careful attention will be paid to the modern Internet and the technologies that support it. Students will use a combination of hands-on network analysis, programming assignments, and written problems to explore the top four layers of the five protocol layers of computer networking: the application layer, transport layer, network layer, and the link layer. This study encompasses the first six chapters of the text. Time permitting, we’ll examine basic issues in network security, the eighth chapter of the text.
The required textbook is:
We may occasionally have readings from other sources, which will either be emailed to students or posted to the schedule below.
In class I will often make use of the Socrative app, so you’ll need to install this on your phones.
Many assignments will make use of the Wireshark packet sniffer. All students will need to install this program. Other networking software will be discussed as needed.
Late assignments: You are allotted a total of 5 days. You may apply these to any homework assignment (NOT projects) as you see fit and turn in your solutions with no penalty. However, you may use at most 2 on any individual assignment. The point is to give you some flexibility for illnesses, long trips, etc. I am unlikely to grant further extensions. You must email the instructor before the due date if you wish to use late days.
Academic dishonesty: Monmouth College’s official policy on academic dishonesty can be found here. You are responsible for reading and complying with that policy.
In this course, any violation of the academic honesty policy will have varying consequences depending on the severity of the infraction as judged by the instructor. Minimally, a violation will result in an “F” or 0 points on the assignment in question. Additionally, the student’s course grade may be lowered by one letter grade. In severe cases, the student will be assigned a course grade of “F” and dismissed from the class. All cases of academic dishonesty must be reported to the Associate Dean who may decide to recommend further action to the Admissions and Academic Status Committee, including suspension or dismissal. It is assumed that students will educate themselves regarding what is considered to be academic dishonesty, so excuses or claims of ignorance will not mitigate the consequences of any violations
Collaboration: We encourage you to make use of the resources available to you – it is fine to seek help from a friend, tutor, instructor, internet, etc. However, copying of answers and any act worth of the label “cheating” is never permissible! In addition to listing your sources and collaborators, you should be producing your own writeup in your own words. By “your own words,” we mean you should be producing the text yourself, without some external aid. Verbatim copying of text is specifically disallowed, but so is taking a source and rearranging some phrases and changing some variable names to create a derivative version! Such behavior is definitely NOT “using your own words.” It does not matter if you helped contribute to this source text with others, since then you are still not the sole author of the text. The point of collaborating on an assignment is not to produce a jointly authored set of solutions, since that violates the course policies. Instead, it is to help you solve the problems, which sometimes involve a bit of creativity. After you have jointly come up with the ideas you need to solve the problems, though, you should part ways with your group and sit down to do the writing by yourself. I also advise against sharing the writeup you submit with others, since if someone else uses your text as a source for their own solution (with or without your permission), you will also be implicated in the violation of the academic integrity policy. In any case, if two nearly identical solutions are received, we have no way of tell which is the original, and the policy is to not award credit for either submission.
Electronic Devices: Do not use your phone or other devices in class except where necessary. Any computer or tablet usage should be related to the course. If a device is not being used for Zoom or Socrative it should be put away and turned on silent. Other usage is rude and distracting to others.
General expectations: In short, I expect you to be respectful of others and take responsibility for your own learning. You are here to learn, so work hard and be professional.
Just attending class is not sufficient to truly learn the material. Read the text, use the resources available at Monmouth College, and go beyond the material.
If you miss class, you are responsible for everything covered on that day. College is, in some sense, your job. Take pride in creating quality work. Staple your assignments, label problems, and present your answers neatly and orderly.
Your job is to convince me that you have learned the material – show your work! Even if you do not know a particular answer, guide me through your thought process.
The weekly workload for this course will vary by student and by week but should be about 12 hours per week on average. The following table provides a rough estimate of the distribution of time over different course components for a 16 week semester, as well as detailing the type, amount, and relative value of all assignments.
Category | Amount | Final Grade Weight | Time/Week (Hours) |
---|---|---|---|
Lectures/Class | 42 | 5% (Participation) | 2.5 |
Problem Sets | 5–6 | 25% | 2.5 |
Wireshark Labs | 5–6 | 25% | 3 |
Exam Study | - | - | 1 |
Exams | 4–6 | 30% | - |
Reading Quizzes | Many | 15% | - |
Reading/Unstructured Study | - | - | 3 |
Total | 100% | 12 |
Problem sets may include written exercises and/or programming assignments. When homework is due, the instructor may select 1 or more exercises to be presented. Students will be randomly selected (with replacement) to present their solution. Such presentations are graded as a part of your problem set grade.
Each exam will focus primarily, but not necessarily exclusively, on the material covered since the previous exam.
In-class presentations will be graded on a simple 3-point scale:
If you are unable to attend a class, you must notify the instructor prior to the class. If you do not, and you are randomly selected to present, you will receive a 0. It is possible that you are never randomly selected, in which case you will receive full credit for this portion of the grade.
Your participation grade is based on a variety of activities. During class I will often make use of the Socrative app, so you’ll need to install this on your phones. Participating in Socrative questions and with in-class group activities is required for a decent participation grade; an A includes asking questions either in class or in office hours.
Your final grade is based on a weighted average of particular assignment categories. You can estimate your current grade based on your scores and these weights. You may always visit the instructor outside of class to discuss your current standing. Assignments and final grades use a standard grading scale shown below and will not be curved except in rare cases when deemed necessary by the instructor.
This courses uses a standard grading scale. Assignments and final grades will not be curved except in rare cases when its deemed necessary by the instructor. Percentage grades translate to letter grades as follows:
Score | Grade |
---|---|
94–100 | A |
90–93 | A- |
88–89 | B+ |
82–87 | B |
80–81 | B- |
78–79 | C+ |
72–77 | C |
70–71 | C- |
68–69 | D+ |
62–67 | D |
60–61 | D- |
0–59 | F |
You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge*.
You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge.
The following tentative calendar should give you a feel for how work is distributed throughout the semester. Assignments and events are listed in the week they are due or when they occur. This calendar is subject to change based on the circumstances of the course.
Note: All readings should be done before the class period in which they are listed below.
Date | Class Activity | Assignment |
---|---|---|
Wed 01/12 (Week 1) | Intro and Logistics | |
Fri 01/14 | Network of Networks; Wireshark | Read 1.1-1.3, Wireshark Lab 0 |
(Mon 01/17) (Week 2) | (MLK Jr. Day – no afternoon classes) | |
Wed 01/19 | Performance | Read 1.4-1.8, PS 1 |
Fri 01/21 | Security & History | WL 0 Due |
Mon 01/24 (Week 3) | The Web and HTTP | 2.1-2.2 |
Wed 01/26 | SMTP, DNS, and Peer-to-Peer | 2.3-2.5 |
Fri 01/28 | Streaming; Socket Programming | 2.6-2.8, PS 1 Due, WL 1 |
Mon 01/31 (Week 4) | ||
Wed 02/02 | Exam 1 Review | WL 1 Due |
Fri 02/04 | Exam 1 | PS 2 out |
Mon 02/07 (Week 5) | Exam 1 Solutions | |
Wed 02/09 | Transport layer; UDP | 3.1-3.3 |
Fri 02/11 | Reliable Data Transfer: Stop-and-Wait | 3.4 |
Mon 02/14 (Week 6) | RDT: Pipelining | PS 2 Due, WL 2 out |
Wed 02/16 | TCP Reliable Data Transfer | 3.5 |
Fri 02/18 | TCP flow control/connection | 3.6, PS 3 out |
Mon 02/21 (Week 7) | WL2 Review; Congestion Control Principles | 3.7, WL 2 due |
Wed 02/23 | Congestion Control in TCP | 3.8-3.9 |
Fri 02/25 | PS 3 due | |
Mon 02/28 (Week 8) | Exam Review | |
Wed 03/02 | Exam 2 | |
(Fri 03/04) | (Exam Day for 1st half-semester courses) | |
(03/07 – 03/11) | (Spring Break) | |
Mon 03/14 (Week 9) | Exam 2 Solutions | |
Wed 03/16 | Network Layer: Routers | 4.1-4.2, WL 3 out |
Fri 03/18 | Priority Scheduling | |
Mon 03/21 (Week 10) | The Internet Protocol | 4.3, PS 4 out |
Wed 03/23 | NAT and IPv6 | WL 3 due |
Fri 03/25 | SDN | 4.4-4.6 |
Mon 03/28 (Week 11) | Link-State Routing | 5.1-5.2 |
Wed 03/30 | Distance Vector; BGP | 5.3-5.4 |
Fri 04/01 | SDN Control Plane | 5.5, WL 4 out |
Mon 04/04 (Week 12) | Network Management | 5.6-5.8 |
Wed 04/06 | (No class) | |
Fri 04/08 | (No class; Exam 3 – take-home) | PS 6 out (research project) |
Mon 04/11 (Week 13) | 6.1-6.3 | |
Wed 04/13 | Exam 3 Solutions | PS 5 out |
(Fri 04/15) | (Easter Break) | |
(Mon 04/18) (Week 14) | (Easter Break) | |
Wed 04/20 | 6.4 | |
Fri 04/22 | 6.5-6.8, PS 5 due | |
Mon 04/25 (Week 15) | 8.1-8.3, WL 5 out | |
Wed 04/27 | 8.4-8.5 | |
Fri 04/29 | Presentations | |
Mon 05/02 (Week 16) | Presentations | |
Wed 05/04 | Presentations | |
Tue 05/10 8:00 AM | Exam 5 (Final) |