Distributed+System

=COMP 326=

COURSE DESCRIPTION:
This subject focuses on the practical issues in designing and implementing distributed software. Topics include concurrent programming, synchronization, multi-threading, local and wide area network protocols, distributed computation, systems integration, and techniques for expressing coarse gained parallelism at the application level (e.g. client server programming using sockets and remote procedure calls.

GENERAL OBJECTIVES:
The overall aim of this course is to provide a concrete knowledge about distributed system and how it works.

**MIDTERM PERIOD**

 * Course Syllabus || [[file:Syllabus Distributed Systems Brochure-type.pdf]] ||
 * Introduction || [[file:Chapter 1 - Introduction.pdf]] ||
 * Architecture || [[file:Chapter 2 - Architectures.pdf]] ||
 * Processes || [[file:Chapter 3 - Processes.pdf]] ||
 * Communications || [[file:Chapter 4 - Communication.pdf]] ||
 * Naming || [[file:Chapter 5 - Naming.pdf]] ||
 * Concurrent Programming || [[file:Chapter 6 - Concurrent Programming.pdf]] ||
 * Synchronization || [[file:Chapter 7 - Synchronization.pdf]] ||
 * Models & Multi-threading || [[file:Chapter 8 - Multithreading.pdf]] ||
 * Consistency & Replication || [[file:Chapter 9 - Consistency and Replication.pdf]] ||
 * Fault Tolerance || [[file:Chapter 10 - Fault Tolerance.pdf]] ||