University of Maryland Baltimore County

Department of Computer Science and Electrical Engineering

CMSC 481-101, Fall 2023

Computer Networks

Monday and Wednesday 1:00 PM - 2:15 PM, SOND 103

 

Course Information

 Instructor and TA Contact Information

 Course Syllabus

 Grade structure and policy

 Lecture notes

 Assignments

 Projects

 Links

Course Instructor

Dr. Mohamed Younis

Office: ITE 318

E-mail: younis@cs.umbc.edu

URL:    http://www.cs.umbc.edu/~younis

Office hours: Monday and Wednesday 2:15 PM - 3:15 PM

Research interest:

Wireless Ad-hoc and Sensor Networks, Security, Underwater communications, Fault tolerant computing and communication, Cyber-physical systems, and Vehicular networks

Teaching assistant

Mr. Hemanth Rao Bompally

Office: ITE 334

E-mail: hemantb1@umbc.edu

Office hours: Tuesday and Thursday 12:00PM - 1:00 PM

Back to top

Course Syllabus

Textbook:

book cover image

Computer Networks, Six Edition

Andrew S. Tanenbaum, Nick Feamster, and David J. Wetherall

Pearson, ISBN 9780137523214

 

Course Outline

1. INTRODUCTION

-          Applications of Computer Networks

-          Network Hardware (Local, Metropolitan, Wide, Wireless, ..)

-          Network Software (Protocol layers, Service Primitives, ...)

-          Reference Models (OSI, TCP/IP, ...)

-          Example Networks (Internet, Ethernet, Wireless LANs, etc.)

-          Network Standardization

 

2. THE PHYSICAL LAYER

-          Basics of Data Communication

-          Transmission Media

-          Wireless Transmission

-          Communication Satellites

-          Public Switched Telephone Networks

-          Cell and Cable networks

3. THE DATA LINK LAYER

-          Design and Interface Issues

-          Error Detection and Correction

-          Elementary and Sophisticated Protocols

-          Protocol Verification

4. MEDIUM ACCESS CONTROL

-          Channel Allocation Problem

-          Multiple Access Arbitration

-          Example Protocols

5. THE NETWORK LAYER

-          Design Issues

-          Routing Algorithms

-          Congestion Control Algorithms

-          Quality of Service

-          Internetworking

6. THE TRANSPORT LAYER

-          The Transport Service

-          Internet Transport Protocols: UDP & TCP

-          Performance Issues

8. THE APPLICATION LAYER

-          DNS-Domain Name System

-          Electronic Mail

-          World Wide Web

-          Multimedia (Time Permitting)

Back to top

Grade Structure and Policy

Course work

Grade distribution

Midterm exam

25%

Final exam

25%

Project

25%

Homework

25%

-          Three problem sets will be assigned and their average is to be normalized to %15 of the final grade

-          One programming assignment will be given toward the end of the semester contributing 10% to the final grade

-          Assignments are due in class. Late assignments are not accepted.

-          The Final Exam is comprehensive covering all what is covered in class

-          The project involves building a network simulator and using it to study the performance of under varying load and configurations

Course grade

Range

A

90% - 100%

B

80% -89.9%

C

70% -79.9%

D

60% - 69.9%

-          Copying/cheating will result in a minimum punishment of a zero grade for the assignment or project. 

-          Academic Integrity Statement:

"By enrolling is this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior and held to the highest standards of honesty.Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. More information can be found here."

-          Accessibility and Disability Accommodations, Guidance and Resources:

"Accommodations for students with disabilities are provided for all students with a qualified disability under the Americans with Disabilities Act (ADA & ADAAA) and Section 504 of the Rehabilitation Act who request and are eligible for accommodations. The Office of Student Disability Services (SDS) is the UMBC department designated to coordinate accommodations that creates equal access for students when barriers to participation exist in University courses, programs, or activities.
If you have a documented disability and need to request academic accommodations in your courses, please refer to the SDS website at sds.umbc.edu for registration information and office procedures. You can also contact SDS office via SDS email: disAbility@umbc.edu or phone: 410-455-2459.
If you will be using SDS approved accommodations in this class, please contact the instructor to discuss implementation of the accommodations. During remote instruction requirements due to COVID, communication and flexibility will be essential for success
."

-          Sexual Assault, Sexual Harassment, and Gender Based Violence and Discrimination:

"UMBC Policy in addition to federal and state law (to include Title IX) prohibits discrimination and harassment on the basis of sex, sexual orientation, and gender identity in University programs and activities. Any student who is impacted by sexual harassment, sexual assault, domestic violence, dating violence, stalking, sexual exploitation, gender discrimination, pregnancy discrimination, gender-based harassment, or related retaliation should contact the University's Title IX Coordinator to make a report and/or access support and resources. The Title IX Coordinator can be reached at titleixcoordinator@umbc.edu or 410-455-1717.
You can access support and resources even if you do not want to take any further action. You will not be forced to file a formal complaint or police report. Please be aware that the University may take action on its own if essential to protect the safety of the community.
If you are interested in making a report, please use the Online Reporting/Referral Form. Please note that, if you report anonymously, the University's ability to respond will be limited
."

Back to top

Lecture notes

Lecture

Date

Subject

1

August 30, 2023

  Introduction and overview

2

September 6, 2023

  Network Software & Reference Models

3

September 11, 2023

  Reference Models and Example of famous Networks

4

September 13, 2023

  Basics of Data Communication

5

September 18, 2023

  Public Telephone Network

6

September 20, 2023

  Mobile Phone and Cable Networks

7

September 25, 2023

  Physical Layer (Cont.)

8

September 27, 2023

  The Data Link Layer

9

October 2, 2023

  Data Link Layer Protocols

10

October 4, 2023

  Data Link Layer Protocols (Cont.)

11

October 9, 2023

  Medium Access Control

12

October 11, 2023

  Medium Access Control (Cont.)

13

October 16, 2023

  MAC for Wired and Wireless LANs

14

October 18, 2023

  Class Project

15

October 23, 2023

  Wireless Networks

16

October 25, 2023

  Midterm exam

17

October 30, 2023

  Internetworking Technology

18

November 1, 2023

  Internetworking Technology (Cont.)

19

November 6, 2023

  The Network Layer

20

November 8, 2023

  Routing Protocols

21

November 13, 2023

  Handling Mobile Nodes

22

November 15, 2023

  Congestion Control and QoS

23

November 20, 2023

  The Network Layer of the Internet

24

November 22, 2023

  The IP Protocol

25

November 27, 2023

  The Transport Layer

26

November 29, 2023

  Elements of Transport Protocol

27

December 4, 2023

  The TCP and UDP Protocols

28

December 6, 2023

  The Application Layer

29

December 11, 2023

  Review

30

December 20, 2023

  Final exam (1:00 PM-3:00 PM)

Back to top

Assignment

Assignment

Date Out

Due Date

Assignment #1

September 20, 2023

September 27, 2023

Assignment #2

October 4, 2023

October 11, 2023

Assignment #3

November 15, 2023

November 22, 2023

Assignment #4

November 27, 2023

December 8, 2023

Back to top

Projects

Project

Date Out

Due Date

Project 

October 16, 2023

November 20, 2023

Back to top

Links

-          Textbook Related Videos

-          Socket Programming Tutorial

Back to top

Last Revised: November 24th, 2023