Graduate Networks: advanced study of computer networks and communication protocols.
Undergraduate Networks: course on basics of networking, ranging from sending bits over wires to the Web and distributed computing.
Distributed Systems: models of asynchronous distributed computing systems, fundamental concepts of concurrency, synchronization.
Parallel Computing: practical introduction to parallel programming, emphasizing techniques and algorithms suitable for scientific and engineering computations.
Operating Systems: undergraduate course on the design and implementation of operating systems.