CS 436: Distributed Computer Systems
CS 436: Distributed Computer Systems (Winter 2012, University of Waterloo). Instructors: Professor Srinivasan Keshav and Andy Curtis. This curse provides an introduction to computer networks, protocols, and distributed system architecture.
It provides an introduction to principles, algorithms, protocols, and technology standards used in computer networks and distributed systems. Topics covered include: layered models, resource management, naming, addressing and routing, reliable communication,
security, and higher-level services.
Lecture 01 - Introduction, Internet Topology |
Lecture 02 - Application Layer: Networked Applications |
Lecture 03 - Application Layer Protocols |
Lecture 04 - Application Layer Protocols (cont.) |
Lecture 05 - Distribution Models: P2P and Cloud Computing |
Lecture 06 - Transport Layer: Socket Programming |
Lecture 07 - Transport Layer Overview |
Lecture 08 - Transport Layer: Reliability and Flow Control |
Lecture 09 - Transport Layer: TCP |
Lecture 10 - Transport Layer: TCP (cont.) |
Lecture 11 - Network Layer: Addresses, Forwarding, Routing |
Lecture 12 - Network Layer: Networks and Subnets, Datagrams and Virtual Circuits |
Lecture 13 - Network Layer: IP Header, Address Allocation, Routing in a LAN |
Lecture 14 - Network Layer: Public and Private IP Addresses, NAT, MAC Addresses, ARP |
Lecture 15 - Routing Overview, Graphs, Link State and Distance Vector, OSPF, BGP |
Lecture 16 - Link Layer: Context, Types, Services, Multiple Access, Ethernet |
Lecture 17 - Link Layer: WIFI |
Lecture 18 - Link Layer: Cellular Networks |
Lecture 19 - Network Security and Privacy |
Lecture 20 - Network Security and Privacy (cont.) |
Lecture 21 - Distributed Systems |
Lecture 22 - Distributed Systems: Currency (Locking), Design Principles |
Lecture 23 - Distributed Systems: Implementation |
Lecture 24 - Distributed Systems: Design Techniques |