Fall 2020 (08/26/2020 - 12/20/2020)

The semester has 14 class meetings including a midterm exam but excluding the final exam. Clicking on a class day below, you should find the class module for the day including lecture notes, assignments, and others. The instructor releases the content for a class generally on the Monday before the class. However, the instructor often makes update to the module content after the initial release. You should check this page often for up-to-date content.

In case you encounter a problem when viewing class content, such as, a broken link, please report it to the instructor immediately.

Topics: overview of class organization; overview of online learning; overview of computer networks; overview of tools and environment

Course Objectives

to understand the basics of data communications (SLO1)
(Module) to have an overview of data communciation networks and systems
to understand the operations of the protocols of the Internet (SLO3)
(Module) to have an overview Internet addressing and naming schemes
to master computer network application design and analysis (SLO4)
(Module) to design, implement, and analyze (simple) network programs
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to use operating systems and networking tools to monitor and diagnose a network application

Lecture Notes

Exercises

Quiz

Reading

Chapter 1 of the textbook

Topics: network structure; network architecture; ISO reference model; TCP/IP model;

Course Objectives

to understand the basics of data communications (SLO1)
(Module) to understand the key elements of a data communication system
to understand computer network structure and architecture (SLO2)
(Module) to understand the overall architecture of the Internet
(Module) to describe the TCP/IP architecture and explain the functioning of each layer
(Module) to understand the concept of internetworking
(Module) to describe the operations a router in TCP/IP networks
to understand the operations of the protocols of the Internet (SLO3)
(Module) to have an overview of the operations of TCP/IP networks
to master computer network application design and analysis (SLO4)
(Module) to design and implement programs with Berkely Sockets
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to capture and analyze TCP/IP network packets

Lecture Notes

Pre-lecture Assignment

HTTP server and client in Python (posted on CUNY Blackboard in the folder of Week of 08/26) (Due: September 2)

Exercises

Reading

Chapters 1 and 2 of the textbook

Topics: network structure; network architecture; ISO reference model; TCP/IP model;

Course Objectives

to understand the basics of data communications (SLO1)
(Module) to understand the key elements of a data communication system
to understand computer network structure and architecture (SLO2)
(Module) to understand the overall architecture of the Internet
(Module) to describe the TCP/IP architecture and explain the functioning of each layer
(Module) to understand the concept of internetworking
(Module) to describe the operations a router in TCP/IP networks
to understand the operations of the protocols of the Internet (SLO3)
(Module) to have an overview of the operations of TCP/IP networks
to master computer network application design and analysis (SLO4)
(Module) to design and implement programs with Berkely Sockets
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to capture and analyze TCP/IP network packets

Lecture Notes

Pre-lecture Assignment

Exercises

Quiz

Reading

Chapters 1 and 2 of the textbook

Topics: protocol and protocol stack; protocol implementation;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principles of internetworking
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IP operations
(Module) to compare and contrast IPv4 and IPv6
(Module) to understand IPv4 and IPv6 addressing schemes
(Module) to have an overview of different transport protocols on the Internet
(Module) to list and define transport services (TCP and UDP)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of TCP implementation policy options

Lecture Notes

Pre-lecture Assignment

Programming and Laboratory

Reading

Chapters 14 of the textbook

Topics: protocol and protocol stack; protocol implementation;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principles of internetworking
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IP operations
(Module) to compare and contrast IPv4 and IPv6
(Module) to understand IPv4 and IPv6 addressing schemes
(Module) to have an overview of different transport protocols on the Internet
(Module) to list and define transport services (TCP and UDP)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of TCP implementation policy options

Lecture Notes

Pre-lecture Assignment

Exercises

Reading

Chapters 14 of the textbook

Topics: protocol and protocol stack; protocol implementation;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principles of internetworking
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IP operations
(Module) to compare and contrast IPv4 and IPv6
(Module) to understand IPv4 and IPv6 addressing schemes
(Module) to have an overview of different transport protocols on the Internet
(Module) to list and define transport services (TCP and UDP)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of TCP implementation policy options

Lecture Notes

Exercises

Part I of Project 1 (Due: September 30)

Quiz

Project

Reading

Chapters 14,15 of the textbook

Topics: protocol and protocol stack; protocol implementation;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principles of internetworking
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IP operations
(Module) to compare and contrast IPv4 and IPv6
(Module) to understand IPv4 and IPv6 addressing schemes
(Module) to have an overview of different transport protocols on the Internet
(Module) to list and define transport services (TCP and UDP)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of TCP implementation policy options

Lecture Notes

Pre-lecture Assignment

Reading

Chapters 14,15 of the textbook

Notice: Classes follow Monday schedule

Topics: protocol and protocol stack; protocol implementation;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principles of internetworking
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IP operations
(Module) to compare and contrast IPv4 and IPv6
(Module) to understand IPv4 and IPv6 addressing schemes
(Module) to have an overview of different transport protocols on the Internet
(Module) to list and define transport services (TCP and UDP)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of TCP implementation policy options

Lecture Notes

Exercises

Quiz

Reading

Chapters 14,15 of the textbook

Topics: Routing problem; routing algorithms; routing protocols;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principal routing strategies
to understand the operations of the protocols of the Internet (SLO3)
(Module) to explain the key features of BGP
(Module) to explain the key features of OSPF

Lecture Notes

Project

Reading

Chapter 19 of the textbook

Topics: Routing problem; routing algorithms; routing protocols;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principal routing strategies
to understand the operations of the protocols of the Internet (SLO3)
(Module) to explain the key features of BGP
(Module) to explain the key features of OSPF

Lecture Notes

Pre-lecture Assignment

Exercises

Discussion on the least-cost algorithms (Due: November 11)

Programming and Laboratory

Reading

Chapter 19 of the textbook

Topics: Routing problem; routing algorithms; routing protocols;

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to understand the principal routing strategies
to understand the operations of the protocols of the Internet (SLO3)
(Module) to explain the key features of BGP
(Module) to explain the key features of OSPF

Lecture Notes

Exercises

Part I and Item 1(a) in Section 3.3.2 of Project 3 (Due: November 18)
Experimenting with Dynamic Routing Algorithms (Due: November 18)

Quiz

Project

Reading

Chapter 19 of the textbook

Notice: Classes follow Friday schedule

Topics: Congestion problem; congestion control; traffic management; TCP congestion control; Datagram congestion control;

Course Objectives

to understand the operations of the protocols of the Internet (SLO3)
(Module) to have an overview of TCP congestion control schemes
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to explain the effects of congestion on network traffic
(Module) to have an overview of congestion control mechanisms

Lecture Notes

Exercises

Reading

Chapter 20 of the textbook

Topics: Congestion problem; congestion control; traffic management; TCP congestion control; Datagram congestion control;

Course Objectives

to understand the operations of the protocols of the Internet (SLO3)
(Module) to have an overview of TCP congestion control schemes
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to explain the effects of congestion on network traffic
(Module) to have an overview of congestion control mechanisms

Lecture Notes

Exercises

Reading

Chapter 20 of the textbook

Notice: Reading Day

Notice: Reading Day

Topics: The final exam will be 8:15 - 10:20 PM, Wednesday, December 16. The final exam is cumulative.