An introduction to distributed systems, emphasizing the multiple levels of software in such systems. Specific topics include fundamentals of data communications, network architecture and protocols, local-area networks, concurrency control in distributed systems, recovery in distributed systems, and clock synchronization. [Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W,S] Prereq: CS 350 or SE 350; Computer Science students only