/CS488S21

Primary LanguagePythonMIT LicenseMIT

CS488: Computer Networks and The Internet

Pace University

Instructor: Dr. Jun Yuan

The content of this course changes as technology evolves, to keep up to date with changes follow me on GitHub.

Course Description

This course provides a top-down study of modern computer networking and the Internet. Application layer topics include the Web, HTTP, FTP, SMTP, DNS, and socket programming. Transport layer topics include UDP, TCP, and congestion control. Network layer topics include link state routing, distance vector routing, IPv4, RIP, OSPF, BGP, IPv6, multicasting and IGMP, and mobile IP. Local area network topics include Ethernet, IEEE, 802.11, and Bluetooth.

Textbook

  • [Required] Computer Networking: A Top-Down Approach, By James F. Kurose; Keith W. Ross. Edition: 6, ISBN:9780132856201
  • [Recommended] TCP/IP Illustrated, Vol. 1: The Protocols; By Richard Steves. ISBN: 978-0201633467

Objectives

  1. Understand the fundamental concepts of computer networks, particularly as related to the Internet;
  2. Understand the multi-layer model of modern network architecture and its advantages and complexities;
  3. Understand application layer messages and protocols, and write application layer software using sockets;
  4. Understand transport layer functionality and explain how congestion control is implemented on the Internet;
  5. Understand inter-networking and network layer functionality, and explain how routing is implemented on the Internet and network management;
  6. Understand local area networks and link-layer issues including the details of the Ethernet and IEEE 802.11 protocols;
  7. Demonstrate your understanding of the material through a final project uploaded to GitHub.

Syllabus

This syllabus presents the expected class schedule, due dates, and reading assignments. Check current syllabus.

Live Schedule

Week Content Recording Reading Quiz Deadline
Week 1:
Slides 1-1 and 1-2
First class on 01/26/2021
Week 1: Course Intro and Logistics
  • Part 1.1: Admin and Logistics
  • Part 1.2: Internet history and overview
  • Part 1.3: Network Arch
  • Part 1.4: Design problems
Quiz1 is out on Gradescope Quiz#1 due 01/31/2021
Week 2:
Adds-on to week1
Week of 02/02/2021
Week 2: Python Prelimaries
  • Part 2.1: Review quiz and layering
  • Part 2.2: Packet switching
  • Part 2.3: Network measurements
  • Part 2.4: Variable declaration and assignment
  • Part 2.5: Integers, reals, mathematical operations on different numeric types
  • Part 2.6: Basic strings
TODO

Hands-out