Distributed Software Systems SWEN 4415

Course description:

The course introduces the main principles underlying distributed systems: processes, communication, naming, synchronization, consistency, fault tolerance, and security. Students will be familiar with some of the main paradigms in distributed systems: object-based systems, file systems, web-based and coordination-based systems. On the completion of the unit, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications

Course Aims:

    • This course aims to provide an introduction to the fundamentals of distributed computer systems, assuming the availability of facilities for data transmission. 
      • The structure of distributed systems using multiple levels of software is emphasized. Specific topics include: 
      • distributed algorithms 
      • distributed file systems 
      • distributed databases, 
      • security and protection 
      • distributed services such as the world-wide web, and 
      • examples of research and commercial distributed systems 

      Course outcomes:

      • Explain what a distributed system is, and what the desired properties of such systems are.
      • Apply the basic theoretical concepts of distributed systems.
      • Design and implement simple distributed system.
      • Examine how modern distributed systems meet the demands of contemporary distributed applications.