Revised October 17, 2011

CS 436: Networks and Distributed Computer Systems

General Description

An introduction to principles, algorithms, protocols, and technology standards used in computer networks and distributed systems. Specific topics include resource management, naming and routing, and reliability.


Intended for 3rd- or 4th-year students with an interest in Computer Science. Not open to Computer Science students. Normally available Winter.

Related courses (see calendar for official details)

Predecessors: One of CS 230, 241, 246 or 251; not open to Computer Science students.
Conflicts: CS 454, 456, ECE 428, 454.
Hardware/Software used: UNIX, any programming language.

Typical References

James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach,Addison-Wesley.
Andrew S. Tanenbaum and Maarten Van Steen. Distributed Systems: Principles and Paradigms, Prentice Hall.

Required preparation

At the start of the course, students should have the ability to

Learning objectives

At the end of the course, students should have the ability to:

Typical syllabus

Physical and data link layer 6 hours

media types, encoding, error correction, medium access control

Network layer 6 hours

hierarchical addressing, forwarding, routing algorithms

Transport layer 6 hours

reliable data transfer, connection management, rate control

Naming and mobility 3 hours

indirect naming, name resolution, transparency, handover

High-level services 6 hours

RPC, message queueing, clocks & synchronization, replication

Security and Privacy 3 hours

confidentiality, integrity, availability

Operations and applications 3 hours

email, web, multimedia

Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Tuesday, 04-Sep-2012 10:47:11 EDT