COMPSCI 453: Computer Networks

Syllabus

Parviz Kermani

Last revised: August 2021

1      Important Details

 

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.

2      Course Objectives

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.

2.1Planned Weekly Schedule

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

3      Grading

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.

3.1 Numeric/Letter Grading Scale

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.

 

3.2 Exam

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.

3.3 Class Participation

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.

3.4 Pass/Fail

UMass policies for both grad and undergrad pass/fail will be followed in this course.

4      Audio/Video Recording

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.

5      Polices

We follow all university adopted policies. Please DO read the UMass Academic Honest Policy.

5.1Inclusive Discussion

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.

5.2 Plagiarism

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.

5.3 Accommodation Statement:

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.

5.4 Academic Honesty Statement:

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/ ).