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:

  • 22 December - 28 December

  • 29 December - 4 January

  • 5 January - 11 January

  • 12 January - 18 January