This course gives an understanding of key concepts of distributed system development which includes two main parts: 1. Engineering distributed system includes user requirements, OO analysis software architecture, OO design, algorithms, implementation, and evaluation. 2. DS system development techniques: OOA and D; user interfaces; data management; algorithms. You can also gain some practice building distributed system via doing the assignments. This course is designed for e-commerce courses in computer information systems that aim to prepare students for web-based application design and implementation, client-server application development.