DISTRIBUTED SYSTEMS & CLIENT SERVER ARCHITECTURE
This course unit introduces learners to the principles, architectures, technologies, and applications of distributed systems and client/server computing. It explores how multiple computers communicate, coordinate, share resources, and provide services across networks. Learners will study client/server architectures, distributed communication, middleware, distributed data management, synchronization, fault tolerance, security, cloud computing, and modern distributed applications.
Distributed Systems and Client/Server Computing is a comprehensive course unit designed to provide learners with both theoretical and practical understanding of computing environments in which multiple computers work together to provide applications, services, and shared resources.
The course begins with the fundamental concepts of distributed computing and examines how distributed systems differ from centralized and standalone computing systems. Learners explore the major characteristics of distributed systems, including concurrency, resource sharing, scalability, transparency, heterogeneity, openness, fault tolerance, and security.
A major part of the course focuses on client/server computing. Learners study the roles of clients and servers, request-response communication, two-tier, three-tier and multi-tier architectures, thin and thick clients, web-based client/server systems, application servers, database servers, and other common server models.
The course further examines communication within distributed environments, including network protocols, sockets, Remote Procedure Calls (RPC), Remote Method Invocation (RMI), message-oriented communication, RESTful services, APIs, and middleware technologies.
Learners are also introduced to important challenges associated with distributed systems, such as process coordination, synchronization, distributed transactions, consistency, replication, concurrency control, fault tolerance, load balancing, security, and distributed data management.
Modern distributed computing technologies and architectures are also explored, including web services, microservices, cloud computing, distributed databases, virtualization, containers, peer-to-peer systems, edge computing, and Internet of Things environments.
Through practical exercises, demonstrations, case studies, and system design activities, learners will develop the ability to analyze, design, implement, and evaluate client/server and distributed applications. By the end of the course, learners should understand not only how distributed systems operate but also how the principles studied are applied in modern systems such as banking platforms, e-commerce applications, cloud services, enterprise systems, social networks, and large-scale web applications.
Fees Structure
| Item | Amount (UGX) |
|---|---|
| Course Fees | Free |
| Registration | Free |
| Total | Free |
Enrollment closes Aug 22, 2026.
Course Outline (Weekly)
| Week | Topics |
|---|---|
| Week 1 | Introduction |
| Week 2 | Architectures |
| Week 3 | Processes |
| Week 4 | Communication |
| Week 5 | Naming |
| Week 6 | Synchronization |
| Week 7 | Consistency and Replication |
| Week 8 | Fault Tolerance |
| Week 9 | Security |