COMP 337: Computer Communications, Spring 2022

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.

Logistics

Content

Description

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.

Sources

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.

Software

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.

Policies

Assessment

Assignments and Workload

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.

Grading

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.

Schedule

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)