Revised October 17, 2011
CS 436: Networks and Distributed Computer Systems
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)
Hardware/Software used: UNIX, any programming language.
Predecessors: One of CS 230, 241, 246 or 251; not open to Computer Science students.
Conflicts: CS 454, 456, ECE 428, 454.
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.
At the start of the course, students should have the ability to
- Use basic algebra, calculus, and probability (for performance analysis).
- Write simple imperative programs using lists, iteration, and array indexing for both read and write (mutable memory model).
- Describe data representations used by computer hardware at the bit level, operate on these representations, and compute their values.
- Explain the basic build process for computer software.
- Compare basic memory and I/O architectures, and how they can impact performance.
- Exemplify basic functionality and components of an operating system.
At the end of the course, students should have the ability to:
- Recall, explain, and compare transmission media and access control schemes.
- Recall, explain, and compare addressing and message forwarding paradigms, including path computation.
- Recall, summarize, and exemplify connection management and reliable message transmission.
- Recall, explain, and compare naming and name resolution techniques, including mobility.
- Recall, summarize, and exemplify contemporary network protocols and techniques.
- Recall, summarize, and explain security/privacy concepts in network protocols and distributed systems
- Recall, explain, and compare high-level communication services and distribution services.
- Compare how existing distributed applications utilize services.
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
Last modified: Tuesday, 04-Sep-2012 10:47:11 EDT