Course Title: Distributed Systems

Part A: Course Overview

Course Title: Distributed Systems

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013


City Campus


140H Computer Science & Information Technology


Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013

Course Coordinator: Prof. Zahir tari

Course Coordinator Phone: +61 3 9925 3782

Course Coordinator Email:

Course Coordinator Location: 14.11.18

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced requisite: COSC1073 Programming 1 OR COSC1284 Programming Techniques 

Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites –;ID=twx09y07zi1c

Course Description

The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based; their architecture, algorithms and how they meet the demands of contemporary distributed applications. The course covers the building blocks for a study of distributed systems, and addressing the characteristics and the challenges that must be addressed in their design: scalability, heterogeneity, security and failure handling being the most significant.

This course also covers issues and solutions related to the design and the implementation of distributed applications.

The course assumes a general knowledge of computers, and the assignments require Java programming skills.

Objectives/Learning Outcomes/Capability Development

This course is an elective so it is not required to contribute to Program Learning Outcomes.    

Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO 1: demonstrate knowledge of the basic elements and concepts related to distributed system technologies;
  • CLO 2: demonstrate knowledge of the core architectural aspects of distributed systems;
  • CLO 3: design and implement distributed applications;
  • CLO 4: demonstrate knowledge of details the main underlying components of distributed systems (such as RPC, file systems);
  • CLO 5: use and apply important methods in distributed systems to support scalability and fault tolerance;
  • CLO 6: demonstrate experience in building large-scale distributed applications.    

Overview of Learning Activities

The learning activities included in this course are:

  • Key concepts and well-known methods will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • Tutorials will focus on problem solving and they will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
  • Computer laboratory sessions provide practices in the application of developing basic distributed applications using RPC;    


A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lecture and tutorial plus 2 hours of computer laboratory work. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and by presenting solutions to written exercises. The tutorial / laboratory sessions will introduce you to the tools necessary to undertake the assignment work.

Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.    

Overview of Learning Resources

The course is supported by the Blackboard learning management system which provides specific learning resources. See the RMIT Library Guide at  

Overview of Assessment

The assessment for this course comprises one programming assignment, a written report and a formal written-end-semester examination.


Note: This course has no hurdle requirements.


Assessment tasks


Assessment Task 1:  Programming Assignment

Weighting 20%

This assessment task supports CLOs 1, 2, 3, 4

Assessment Task 2:  Programming Assignment

Weighting 30%

This assessment task supports CLOs 1, 2, 3, 4, 5

Assessment 3: End-of-semester Examination

Weighting 50% 

This assessment supports CLOs 1, 2, 3, 4, 5, 6