Course Catalog

GRAD > CS > 649

Concurrent and Distributed Systems

This course covers a series of design principles and implementation techniques for concurrent and distributed systems. Topics range from basic object-oriented techniques in thread programming and TCP/UDP socket programming to advanced design strategies for I/O, caching, transactional messaging, remoting middleware and embedded networking. Students will design and implement several representative concurrent and distributed systems such as web browsers, web servers, instant messaging systems, peer-to-peer overlay systems, distributed event notification systems and sensor networking systems. They will implement these systems with several programming languages including general purpose languages such as Java to concurrency-oriented languages such as Erlang.

Offered in: