The schedule may change over time due to unforeseen events, instructor travel, evolving student interests, etc.
| Date/slides | Video | Topics of Discussion | Homework, Prog. Assignments, etc. | 
| Aug 25 0-logistics.ppt | lecture1 | Course Logistics, Course Overview. | |
| Aug
                  27 0-logistics_annotated.pdf | lecture2 | Overview continued - History and fathers of the Internet - End hosts and ISP hierarchy - Trans continental cables - Layering and encapsulation (end to end horizontal communication) | Programming Assignment 0
                  (also called Machine Problem (MP)) Instructions + Beej's guide No due date -- will not be graded | 
| Sep 1 1-overview.pptx | lecture3 | Overview and Internet Terminology, - Introduction to Basic Terms and Concepts: - Internet: Hosts, apps, edge, core, routers, links, connection-less, infrastructure, service - Network edge: Client server, P2P, edge-fog-cloud, connection less/oriented, TCP, UDP - Network access and media: Notion of FFT and bandwidth, dial-up, ADSL, cable, LAN, wireless ... | Programming Assignment 1
                  (MP1) Instructions Due date -- 11:59PM, Oct. 2, 2020 | 
| Sep 3 See this USA_ Spectrum_map | lecture4 | Overview
                  Continued - Bandwidth, carrier frequency, notion of modulation and de-modulation, spectrum allocation in the US - Network core: Circuit switching, FDM versus TDM, throughput, latency - Packet switching: Statistical multiplexing, tradeoff between efficiency and guarantee. | |
| Sep 8 1-overview-annotated.pdf | lecture5 | Overview - Datagram networks, Virtual circuit switching, Taxonomy of network core - Layered communication, End-to-End architecture - 4 kinds of delays (Processing, Queuing delay, Propagation, Transmit), Packet loss Application - Introduction to Applications, client-server, peer-peer, services, | |
| Sep
                  10 2-app-layer.ppt | lecture6 | Application - Client-Server, Pure P2P, Hybrid P2P ... Overlay networks - Loss, Bandwidth, and Delay requirements - Introduction to HTTP, Non-persistent, Persistent, Cookies | |
| Sep 15 2-app-layer-annotated.pdf 2_app_optional_p2p.pptx | lecture7 | Application - Web caching - Email (SMTP, POP, IMAP) - DNS - P2P networks Pointers: Inventor of the DNS system, Paul Mockapetris | Homework 1 (on Gradescope) Due date -- 5:00PM, Sep. 30, 2020 | 
| Sep 17 2_socket_programming.pptx 3-transport.ppt | lecture8 | Transport Layer - Socket programming - Reliability definition --> reliable wrapper over an unreliable channel - Multiplexing, Demultiplexing - UDP, checksums - State transition diagrams - Principles of reliability - Reliability definition - Building a reliable protocol from scratch (no errors, ACK/NACK, packet errors, seq. no.) | Programming Assignment 2
                    (MP2) Instructions Due date -- 11:59PM, Oct. 23,2020 | 
| 3-transport-classwork.pdf | lecture9 | Transport Layer - Building reliable protocol over unreliable link - Link error model: - No error - Forward bit error, backward bit error - Packet loss - Packet delay - Moving from correctness to performance (pipelining) | |
| See 3-transport-classwork.pdf above | lecture10 | Transpor Layer - Correctness to performance: Pipelined protocols - Go back N (GBN) ... Tx window but no Rx buffer, hence sends cumulative ACKs - Selective ACK (SACK) ... Tx and Rx have buffers | |
| See 3-transport-classwork.pdf above | lecture11 | Transport
                  Layer - Selective ACK (SACK) ... Tx and Rx have windows ... and Selective ACKs - Various T/F questions on SACK - TCP introduction - Notion of congestion and adaptive window size | |
| 3-tcp-oct1-classwork.pdf | lecture12 | Transport Layer: TCP - Bottleneck and available bandwidth - TCP's knob = congestion window (CW) - Chemical factory analogy - TCP protocol (Rx buffer + cumulative ACK) - 3 way handshake - Slow Start - Congestion avoidance (after SS_Threshold) | |
| 3-tcp-oct6-classwork.pdf | lecture13 | TCP - Congestion indication from packet drop (time out) - ACK drops - 3 DupACKs and fast recovery - Ensuring congestion window grows while DupACKs arrive | |
| 3-tcp-oct8-classwork.pdf | lecture14 | TCP - Fast recovery - TCP timers and saw tooth behavior - TCP state diagram | |
| 3-tcp-oct13-classwork.pdf | lecture15 | TCP - Timeout estimation (RTO) as a function of Estimated RTT and Deviation - Packets to bytes - AIMD and TCP throughput calculation - Flow Control - TCP fairness | Homework 2 (on Gradescope) Due date -- 11:59PM, Oct. 25, 2020 | 
| 3-tcp-oct13-classwork.pdf | lecture16 | TCP - TCP over wireless - TCP Random Early Detection (RED) - Bottleneck bandwidth estimation via packet pairs | |
| 4-network.ppt | lecture17 | Network
                  Layer - Introduction - Routing and Forwarding (and Connection set up) - Network service models (guarantees and best effort) - Virtual circuit and datagram networks - Forwarding table | |
| Mid-term
                info. slides | lecture18 | Network Layer - Longest prefix matching - Router architecture - IP datagram, fragmentation and reassembly - Subnets and IP addressing - CIDR (Classless Inter Domain Routing) MID-TERM Discussion | |
| Midterm Oct 29, Thu | |||
| Routing Algorithm Examples | lecture19 | Network
                  Layer - Prefix matching based routing across ISP - NAT - ICMP and Traceroute - IPv6 - Routing algorithms: Link state and Distance vector - Link state: Dijkstra's algorithm | Programming Assignment 3 (MP3) Instructions Due date -- 11:59PM, Nov. 18,2020 | 
| lecture20 | Network Layer - Distance Vector (Bellman Ford's algorithm) - Hierarchical routing - Internet case studies - Link state: RIP, OSPF | ||
| 5-link.ppt | lecture21 | Network Layer: - Distance vector: BGP (eBGP and iBGP) - Policy decisions based on socio-economic factors Link Layer: - Introduction to link layer - Local reliability as performance optimization, not correctness | |
| Pointers: Hamming codes: 3Blue1Brown Part1 3Blue1Brown Part2 | lecture22 | Link
                  Layer: - Error detection and correction - Multiple Access Protocols (Centralized and Decentralized) - Listen before you Talk - Carrier sensing - Collisions | |
| 5-link-classwork.pdf | lecture23 | Link Layer: - Medium access control protocols - Channel partitioning - CSMA/CD - Taking turns - Ethernet | |
| Link Layer: CSMA/CD, LAN addressing ARP, etc., Ethernet | |||
| 6-basic-wireless.ppt | Wireless Link Layer Networks (channel characteristics, MAC) ... | ||
| Wireless Link Layer WiFi 802.11 protocol | |||
| 6-wireless.ppt Some Slides on MAC and 802.11 -- see 1-12 & 46-54 | Wireless Link Layer WiFi 802.11 protocol | ||
| wireless_CSMA_WiFi.ppt | Wireless Link Layer Mobility principles, cellular networks | ||
| 8-security.ppt | Security | ||
| Last-class-slides.ppt | Security | ||
| Final
                exam date: Wed, Dec 16, 2020, 8-11am | ECE/CS 438 Final Exam | 
