Computer Science (COMP) 689
Advanced Distributed Systems

Method of Delivery: Grouped Study Online
Credits: 3 - IS Core Elective or IS Elective
Prerequisite:
  1. Familiarity with the basic concepts and issues of operating systems principles including performance measurement; concurrent programs; the management of information, memory and processor resources.
  2. Familiarity with programming in high level languages such as C and Java.

Students who are concerned about not meeting the prerequisite for this course are encouraged to contact the course coordinator before registering.

Centre: School of Computing and Information Systems
Course Sample COMP 689 Sample
Instructor: Vlad Voytenko


Overview | Course Objectives | Learning Outcomes | Outline | Evaluation | Course Workload | Course Materials - Textbook | Special Course Features | Ubiquitous Course Features | Course Fees | Course Availability


Overview

COMP689 deals with the major recent developments in distributed systems technology, explains the principles of distributed systems such as communication, naming, synchronization, replication, fault tolerance and security, using many examples and case studies. It covers architectures in distributed systems, reflecting the progress that has been made on organizing distributed systems, new topics such as peer-to-peer computing, sensor networks, Web services, Grid computing, virtualization and its role in distributed systems, and self-management of distributed systems.

The course is designed to provide knowledge of the principles and practice of distributed system design, and to illustrate the design concepts for each topic with concept-oriented assignments and a small high level programming assignment. The course has a term project (TP) about the design and implementation of a real distributed system

Course Objectives

The learning objectives of this course are to:

  • present the principles underlying the functioning of distributed systems;
  • create an awareness of the major technical challenges in distributed systems design and implementation;
  • expose students to current technology and distributed infrastructure software;
  • expose students to past and current research issues in the field of distributed systems; and
  • provide experience in the implementation of typical algorithms used in distributed systems.

Learning Outcomes

A student successfully completing this course should be able to:

  • Explain the definition of a distributed system, why you would design a system as a distributed system, and what the desired properties of such systems are;
  • List the principles underlying the functioning of distributed systems, describe the problems and challenges associated with these principles, and evaluate the effectiveness and shortcomings of their solutions;
  • Recognize how the principles are applied in contemporary distributed systems and distributed infrastructure software, explain how they affect the software design, and be able to identify features and design decisions that may cause problems;
  • Design a distributed system that fulfills requirements with regards to desired properties, be able to recognize when this is not possible, and explain why;
  • Build distributed system software using low-level and high-level techniques.

Outline

  1. Introduction
  2. Architectures
  3. Processes
  4. Communication
  5. Naming
  6. Synchronization
  7. Consistency and replication
  8. Fault tolerance
  9. Security

Evaluation

To receive credit for Foundation/Core courses, students must achieve a course composite grade of at least B- (70%), with and average grade of at least 60% on the assignments and students must achieve a grade at least 60% on the final examination.

The weighting of the composite grade is as follows:

TME 1
Article Reading
10%   
TME 2   Lab 10%
TME 3   Project
30%
Final Exam    40%     
Class participation

10%
Total    100%

Course Workload

This course workload is based on weekly schedule, so this would best translate into -- readings / synthesis and/or exercises / lab per week:

3 hours readings time per week
2 hours synthesis/exercises time per week
4 hours lab time per week.

Course Materials - Textbook:

  • Andrew S. Tanenbaum, Maarten van Steen
    Distributed Systems: Principles and Paradigms (second edition)
    Prentice Hall, 2007
  • Selected journal or conference publications

The text is supplemented by some notes providing an historical perspective, by digital library articles/WWW links with both standard methods and techniques and more recent developments. The remainder of the learning materials for Computer Science 689 are distributed in electronic format.

Those materials will include:

  1. Computer Science 689 Study Guide
  2. Detailed descriptions of the requirements for the individual tutor-marked exercises
  3. A course evaluation form is on the Web.

Special Course Features

COMP 689 is offered by computer mediated communications (CMC) mode and can be completed at the students's workplace of home. Your computer must have sound capabilities.

Ubiquitous Course Features

You must have your own virus protection software and be competent at using it to protect your system.


Athabasca University reserves the right to amend course outlines occasionally and without notice.
Courses offered by other delivery methods may vary from their individualized-study counterparts.


[AU Home Page]
Athabasca University
1 University Drive
Athabasca, AB T9S 3A3
(780) 675-6111, (800) 788-9041
Ask AU

This page was modified on