COMPSCI 453: Computer Networks
Syllabus
Parviz Kermani
Last revised: August 2021
Course Title and Number: Computer Networks, COMPSCI 453
Credits: 3
Date to be offered: Fall semester 2021
Location: In-class - required
I will make every attempt to record class sessions (preferably by Zoom) and make them available to students. But I highly recommend attending the classes and participating in class discussions.
All material, including (possible) class recordings, will be made available on Moodle.
Building and Room #: Hasbrouck Laboratory room 134
Class participation: Required, as dictated by UMass Policies.
More information: https://www.umass.edu/registrar/students/policies-and-practices/class-absence-policy
Time: 2:30-3:45pm US ET
Days of the week: Tuesday & Thursday
Instructor Information:
Name: Dr. Parviz Kermani
Address: LGRC A263 (when UMass campus is open)
Phone: 914-299-9719
E-mail: parviz@cs.umass.edu
Office hours: In-person & Zoom-Wednesdays 10:00-12:00 am, US ET, or by appointment
TA/Grader Information: Please consult the Moodle repository for CS453 for this semester.
Course Website URL (last offered by Parviz Kermani): This web site that you are vieweing
Prerequisite: A rudimentary understanding of algorithms (e.g., CMPSCI 311) and operating systems (CMPSCI 377) is required, or you should be willing to pick up elements from those courses as needed. A previous course in computer organization (e.g., CMPSCI 201) is required. You must be able to program in a structured high-level programming language, such as C, C++, Python, or JAVA. Programming assignment(s) should be written in Python.
Final: TBD. Please consult SPIRE to any change to the final date/time.
Texts: "Computer Networking: A Top-Down Approach", 8th edition, J.F. Kurose & K.W. Ross. Published by Pearson (C)2021.
This course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: overview of network architectures, applications, network programming interfaces (e.g., sockets), transport, congestion, routing, and data link protocols, addressing, local area networks, SDN Networks, wireless networks, network security, and network management. Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. There will be quite a few assignments consisting of problem-solving assignments, Wireshark Lab assignments, and Programming assignments. In spring 2020 the class had all together more than 15 assignments. Please be prepared to put a good amount of work and time if you decide to take this course.
Please Note: I try to make my classes very interactive. This is not to test you, or embarrass you in case you don't know the answer; it is just to engage you, and others, in class. As such I ask questions from randomly selected students in class. If you feel uncomfortable with this, PLEASE do contact and talk to me and I will not ask you questions in class. I will, of course, first try to convince you not to do so.
In fall 2021 this course is conducted face-to-face, in-class. The course meets biweekly which I use to cover the textbook.
I will make every attempt (no promises though!) to record class sessions (preferably by Zoom) and make them available.
All lecture notes, lab homeworks and supporting material will be available on Moodle as well. There will be a bi-weekly (physical) class sessions in which students are expected to participate. Subject to UMass policies, participation is optional, but students are strongly encouraged to participate in these class meetings. Please note that, we may discuss material which are not covered in the textbook and/or lecture slides.
Pre-recorded video lectures of chapters of the textbook are also provided by the author, Prof. Jim Kurose, which students may want to use.
The following topics will be covered in the course
Part 1: Introduction
What is the Internet, what is a protocol?
The Network Edge, Core, and Access Networks
Physical Media
Delay, Loss and throughput in Packet-Switched Networks
Protocol Layers and Their Service Models
The structure of the Internet
A Brief History of Computer Networking and the Internet
Part 2: The Application Layer
Principles of Application-Layer Protocols
The World Wide Web: HTTP
File Transfer: FTP
Electronic Mail in the Internet
The Internet's Directory Service: DNS
Peer-peer systems
Socket Programming
Part 3: The Transport Layer
Transport-Layer Services and Principles
Multiplexing and Demultiplexing Applications
Connectionless Transport: UDP
Principles of Reliable of Data Transfer
TCP case study
PROGRAMMING ASSIGNMENT 2
Principles of Congestion Control
TCP Congestion Control
Part 4 & 5: The Network Layer
Introduction and Network Service Model
Routing Principles
Hierarchical Routing
IP: the Internet Protocol
Routing in the Internet
What is Inside a Router?
Software Defined Networks (SDN)
Part 6: The Link Layer and Local Area Networks
The Data Link Layer: Introduction, Services
Error Detection and Correction
Multiple Access Protocols and LANs
LAN Addresses and ARP
Ethernet
VLANs
A Day in the Life of an HTTP Request (synthesis)
Part 7: Wireless Networks
WiFi: IEEE 802.11
Cellular networks
Handling Mobility
Case Study: GSM cellular networks, Mobile-IP
Part 8: Security in Computer Networks (will not cover this section)
What is Network Security?
Attacks and Countermeasures
Principles of Cryptography
Authentication: Who are You?
Integrity
Key Distribution and Certification
Firewalls
Case Studies
Part 9: Network Management (time permitting)
What is Network Management?
The Internet Network Management Framework
The various contributions to the course are weighted as follows. Please note that the number of assignments may change depending on how we progress:
Criteria |
Approximate Amount |
Percentage |
Problem Assignments |
6+ |
20% |
Wireshark Lab Assignments |
6+ |
15% |
Programming Assignments |
2 |
10% |
In-class quizzes, Class Participation, Instructor's discretion |
Random number of quizzes |
5% (see below) |
Midterm |
1 |
20% |
Final |
1 |
30% (see below) |
I value participation and class discussions and try to make my classes very interactive. Students will be rewarded for their active participation in class. 5% is reserved for instructor's discretion. In-class quizzes will be used as one (but not a complete) measure of class participation. In order to gain full credit of each quiz, student should take the quiz and achieve at least 50% score.
Due to shortage of time, I may not give 2 programming assignments, in which case the final exam will worth 35% of the total grade.
The following scale will be used to translate between numeric to letter grades.
The weighted sum of grades is translated to grade letters based on the following table. Please note that the scale shown here has priority on the one shown on Moodle (if different from below).
High |
Low |
Letter |
100.00 |
93.00 |
A |
92.99 |
90.00 |
A- |
89.99 |
87.00 |
B+ |
86.99 |
83.00 |
B |
82.99 |
80.00 |
B- |
79.99 |
77.00 |
C+ |
76.99 |
73.00 |
C |
72.99 |
70.00 |
C- |
69.99 |
67.00 |
D+ |
66.99 |
60 |
D |
59.99 |
0 |
F |
Please note the I do not use a curve to determine final grades. Each student stands on her/his own merit.
The midterm will be 75 minutes long; one class session will be assigned to the midterm. The midterm will be held after we have reached a certain point in the course, covering up through Chapter 3, The transport layer, up to Congestion Control. The date depends on progress of the class and will be announced as we get closer to the date.
The final exam will be online and the date will be announced on SPIRE. The final exam will be cumulative and open book (but, not open access to Internet), covering all material in the course. It will be two hours long.
All exams are given on Moodle and are auto-graded, and Online/Synchronized (all student should take the exam at the same time). You need to be present at the time, and the location, specified, otherwise, your test is invalidated.
You cannot pass this class without a passing grade on the final exam, even with full marks otherwise.
5% of grade will be based on class discussion/participation/presence, posing and answering questions as appropriate and on quizzes given during classes, as discussed in Section 3.
UMass policies for both grad and undergrad pass/fail will be followed in this course.
Lectures will be recorded. This class’s lectures will be recorded. When physically present, every effort is made to not capture students’ likenesses, as the system is designed to capture the instructor and the front of the classroom, however, students’ audio participation might be recorded. These recordings will be made accessible to students enrolled this semester and in subsequent offerings of the class.
We follow all university adopted policies. Please DO read the UMass Academic Honest Policy.
In this course, each voice in the classroom has something of value to contribute. Please take care to respect the different experiences, beliefs and values expressed by students and staff involved in this course. I support the commitment of the UMass Amherst College of Information and Computer Sciences to diversity, and welcome individuals of all ages, backgrounds, citizenships, disability, sex, education, ethnicities, family statuses, genders, gender identities, geographical locations, languages, military experience, political views, races, religions, sexual orientations, socioeconomic statuses, and work experiences.
As a condition of continued enrollment in this course, you agree to submit all assignments to the Turnitin and/or My Drop Box services for textual comparison or originality review for the detection of possible plagiarism. All submitted assignments will be included in the UMass Amherst dedicated databases of assignments at Turnitin and/or My Drop Box. These databases of assignments will be used solely for the purpose of detecting possible plagiarism during the grading process and during this term and in the future. Students who do not submit their papers electronically to the selected service will be required to submit copies of the cover page and first cited page of each source listed in the bibliography with the final paper in order to receive a grade on the assignment.
The University of Massachusetts Amherst is committed to providing an equal educational opportunity for all students. If you have a documented physical, psychological, or learning disability on file with Disability Services (DS), you may be eligible for reasonable academic accommodations to help you succeed in this course. If you have a documented disability that requires an accommodation, please notify me within the first two weeks of the semester so that we may make appropriate arrangements.
Since the integrity of the academic enterprise of any institution of higher education requires honesty in scholarship and research, academic honesty is required of all students at the University of Massachusetts Amherst. Academic dishonesty is prohibited in all programs of the University. Academic dishonesty includes but is not limited to: cheating, fabrication, plagiarism, and facilitating dishonesty. Appropriate sanctions may be imposed on any student who has committed an act of academic dishonesty. Instructors should take reasonable steps to address academic misconduct. Any person who has reason to believe that a student has committed academic dishonesty should bring such information to the attention of the appropriate course instructor as soon as possible. Instances of academic dishonesty not related to a specific course should be brought to the attention of the appropriate department Head or Chair. Since students are expected to be familiar with this policy and the commonly accepted standards of academic integrity, ignorance of such standards is not normally sufficient evidence of lack of intent (http://www.umass.edu/dean_students/codeofconduct/acadhonesty/ ).