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

Exercises

Quiz

Online quiz TBA on Blackboard (Due: October 14)

Reading

Chapters 14,15 of the textbook

Notice: Classes follow Monday schedule

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

Pre-lecture assignment TBA (Due: October 28)

Exercises

TBA (Due: October 28)

Quiz

Online quiz TBA on Blackboard (Due: November 11)

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

Pre-lecture assignment TBA (Due: October 28)

Exercises

TBA (Due: October 28)

Quiz

Online quiz TBA on Blackboard (Due: November 11)

Reading

Chapter 19 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

Pre-lecture Assignment

Pre-lecture assignment TBA (Due: November 11)

Exercises

TBA (Due: November 11)

Quiz

Online quiz TBA on Blackboard (Due: November 25)

Project

Project TBA (Due: December 9)

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

Pre-lecture Assignment

Pre-lecture assignment TBA (Due: November 11)

Exercises

TBA (Due: November 11)

Quiz

Online quiz TBA on Blackboard (Due: November 25)

Project

Project TBA (Due: December 9)

Reading

Chapter 20 of the textbook

Notice: Classes follow Friday schedule

Topics: Multicasting; Software Defined Networks; OpenFlow; Mobile IP

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to list and explain the requirements for IP multicasting
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IGMPv3
(Module) to have an overview of Mobile IP
to master computer network application design and analysis (SLO4)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of Software-Defined Network
(Module) to understand theoperations of OpenFlow

Lecture Notes

Pre-lecture Assignment

Pre-lecture assignment TBA (Due: December 2)

Exercises

TBA (Due: December 2)

Quiz

Online quiz TBA on Blackboard (Due: December 11)

Programming and Laboratory

Programming or lab assignment TBA (Due: December 11)

Reading

Chapter 21 of the textbook

Topics: Multicasting; Software Defined Networks; OpenFlow; Mobile IP

Course Objectives

to understand computer network structure and architecture (SLO2)
(Module) to list and explain the requirements for IP multicasting
to understand the operations of the protocols of the Internet (SLO3)
(Module) to present an overview of IGMPv3
(Module) to have an overview of Mobile IP
to master computer network application design and analysis (SLO4)
to master the knowledge and the skills on designing and building a complete networked system. (SLO5)
(Module) to have an overview of Software-Defined Network
(Module) to understand theoperations of OpenFlow

Lecture Notes

Pre-lecture Assignment

Pre-lecture assignment TBA (Due: December 2)

Exercises

TBA (Due: December 2)

Quiz

Online quiz TBA on Blackboard (Due: December 11)

Programming and Laboratory

Programming or lab assignment TBA (Due: December 11)

Reading

Chapter 21 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.