Course Description: A study of techniques and methodologies for developing applications distributed across computer networks. A detailed analysis of distributed architectures such as client-server protocols, distributed databases, middleware, distributed objects and agents. Team projects are required.