Weekly outline

  • General

    CC 529 – Distributed and Parallel systems

    Credits Hours: 3Hrs
    Contact Hours: In Lecture 2Hrs, and In Tutorial 2Hrs
    Instructor Name: Dr. Manal Helal
    Coordinator Name: Prof. Dr. Attala Hashad

    Text book:
    Andrew S. Tanenbaum and Maarten van Steen, “Distributed Systems: Principles and Paradigms”, Prentice Hall, latest edition.


    Specific course information
    a. Catalog description
    Distributed systems and applications - Recent developments in distributed systems - Client-server and peer-to-peer application designs - Sockets - Reliability - Replication - Group membership protocols - Clock synchronization - logical timestamps.
    b. prerequisites or co-requisites:  CC431
    c. Types of Course ( required, elective, or selected elective course) in the program Elective Course

    a. Specific outcomes of instruction
    After the completion of this course the students will be able to:

    Course Learning Outcomes SO
    1 Understand the fundamental aspects of distributed systems and applications. C
    2 Master client-server and peer-to-peer application designs. C,K
    3 Cope with state of the art technologies in distributed systems. I,J

    Topics to be covered

    • Introduction to distributed architectures
    • Communication among systems
    • Naming
    • Synchronization
    • Consistency
    • Replication
    • Fault tolerance
    • Distributed object based systems
    • Distributed file systems
    • Distributed web-based systems
    • Distributed coordination-based systems 
  • 29 September - 5 October

    Week 1: Introduction to Distributed Systems (Ch 1)

    ILOs:

    • Understand the Goals of building a distributed Systems
    • Differentiate the types of DS
  • 6 October - 12 October

    Week 2: DS Architecture (Ch 2)

    ILOs:

    • Differentiate Centralised, decentralised, and hybrid DS systems
  • 13 October - 19 October

    15th of October: New Hijri Year 1437

    • 20 October - 26 October

      Week 4: Processes (CH 3)

      ILOs:

      • Understand the difference between a thread, a process and a processor
      • Appreciate the role of virtualisation in DS
      • Understand the Design Issues in creating client and server processes
      • Understand the different Code Migration Approaches
    • 27 October - 2 November

      Week 5: Communication (Ch 4)

      ILOs:

      • Review some network Fundamentals
      • Understand how RPC operates
      • Understand Message Oriented Communication requirements
      • Understand Stream Oriented Communication requirements
    • 3 November - 9 November

      • 10 November - 16 November

        Week 7: Exam:

      • 17 November - 23 November

        Week 8: Naming (CH 5)

        ILOs:

        • Understand Flat, structures and attribute-based Naming approaches and requirements
      • 24 November - 30 November

        Week 9: Synchronisation (Ch 6)

        ILOs:

        • Differentiate Physical Clock and Logical Clock Synchronisation approaches
        • Understand Mutual Exclusion Algorithms
      • 1 December - 7 December

        Week 10: Consistency & Replication (Ch 7)

        ILOs:

        • Differentiate Data Centric and Client-Centric Approaches to Consistency between Replicas
      • 8 December - 14 December

        Week 11: Fault Tolerance (CH 8)

        ILOs:

        • Know the different Types of Failures that could occur in a DS
        • Understand Fault Tolerance by creating groups (replicas) that communicate to detect failures and mask the failure
      • 15 December - 21 December

        Week 12: Exam:

      • 5 January - 11 January

        • 12 January - 18 January