(home)

CMPSCI 453

Computer Networks
Fall 2023

Instructor: Parviz Kermani
College of Information and Computer Sciences
University of Massachusetts Amherst

 

Please Note: Almost all downloadable files on this site have been moved Moodle which is accessible if you are a student taking this course.

Overview: 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 the recent past semesters 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.

I will give random quizzes (on Moodle, iClicker, or Zoom, depending on the technology available) in our classes. Attendance and answering questions will count towards the final grade in the 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 come 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.

Class WWW site
This web site is provided primarily as a convenience. We will use the cloud version of Moodle (https://umass.moonami.com) as the course management system and Piazza (piazza.com) for discussions.

We will make extensive use of Moodle; as such, this WWW site will NOT be updated. All assignments are (only) posted on Moodle and in some instancers on GradeScope. All UMass policies reflected on Moodle will be observed.

This WWW site is, however, full of useful other information , and some old exams.. Check out and use this site often!
Class times
and location

Please consult the Moodle pages for this course, https://umass.moonami.com

Instructor

Parviz Kermani
Office hours: Wednesdays 11:00am-1:00pm US-ET, or by appointment.
Office location: LGRC A263 and Zoom

TA & Grader

Please consult the Moodle pages for this course, https://umass.moonami.com

Textbook Computer Networking: A Top Down Approach, 8th edition, J.F. Kurose & K.W. Ross. Published by Pearson/Addison-Wesley ©2021.
Authors' web site for this book: http://gaia.cs.umass.edu/kurose_ross/index.php
Assigned reading From the text and the web.
Class Notes Class/Lecture notes (highly recommended) will be posted on Moodle.
Online Supplements

Students are strongly encouraged to take advantage of the online resources made available by the authors and the publisher.
http://gaia.cs.umass.edu/kurose_ross/index.php

Assignments

Most assignment are given on Moodle and auto-graded. It is assumed that you are familiar with using the software. Gradescope will be used for grading the programming assignment(s). Students will be given direction on how to signon Gradescope for this course

Assignments due as specified on Moodle and Gradescope. Due to the size of our class, no late assignments will be accepted.

I usually schedule solution to assignments to be available right after the due date/time. Hence submitting assignment after the deadline is truly problematic. Please do not ask for extension.

Prerequisites
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 3.