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.
Upon successful completion of this course, students will be able to:
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.