CS107

Distributed Systems

Course ID
CS107
Level
Diploma

Course Description

This course introduces students to the principles and architecture of distributed computing systems, where multiple autonomous computers work together to solve complex problems. The course covers topics such as system models, communication protocols, synchronization, fault tolerance, distributed file systems, and security. Students will learn how to design and manage distributed systems that ensure reliability, scalability, and efficiency. The course also explores modern applications of distributed systems, such as cloud computing, peer-to-peer networks, and distributed databases.

Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Understanding Distributed System Architecture: Students will gain a comprehensive understanding of the fundamental components of distributed systems, including client-server models, peer-to-peer networks, and the role of middleware in managing communication and resources.
  • Exploring Communication and Synchronization in Distributed Systems: Learn how processes in distributed systems communicate and synchronize, focusing on message passing, remote procedure calls (RPC), and algorithms for achieving synchronization and consensus.
  • Implementing Fault Tolerance and Scalability: Gain proficiency in designing distributed systems that are fault-tolerant and scalable, ensuring that systems can continue to operate efficiently in the presence of hardware or software failures.
  • Applying Security and Privacy Measures in Distributed Systems: Develop skills in implementing security protocols to protect distributed systems from threats, focusing on data integrity, confidentiality, and authentication across networked environments.

These outcomes aim to provide students with the knowledge and skills necessary to design, implement, and manage distributed systems. The course prepares students for roles in cloud computing, network engineering, and software development, where distributed systems are integral to modern technology infrastructures.