This course covers several aspects for client-server systems, including: client-server models, transaction processing, communications, programming, security, middleware, developments. The course builds on socket programming to develop client server applications.