Distributed Algorithms

Subject COMP90020 (2015)

Note: This is an archived Handbook entry from 2015.

Credit Points: 12.5
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2015:

Semester 1, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 02-Mar-2015 to 31-May-2015
Assessment Period End 26-Jun-2015
Last date to Self-Enrol 13-Mar-2015
Census Date 31-Mar-2015
Last date to Withdraw without fail 08-May-2015

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 3 hours contact per week
Total Time Commitment:

200 hours

Study Period Commencement:
Credit Points:
Semester 1, Semester 2


Recommended Background Knowledge:


Non Allowed Subjects:


Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support: http://services.unimelb.edu.au/disability


Assoc Prof Egemen Tanin


email: etanin@unimelb.edu.au

Subject Overview:


The Internet, World Wide Web, bank networks, mobile phone networks and many others are examples for Distributed Systems. Distributed Systems rely on a key set of algorithms and data structures to run efficiently and effectively. In this subject, we learn these key algorithms that professionals work with while dealing with various systems. Clock synchronization, leader election, mutual exclusion, and replication are just a few areas were multiple well known algorithms were developed during the evolution of the Distributed Computing paradigm.


Topics covered include:

  • Synchronous and asynchronous network algorithms that address resource allocation, communication
  • Consensus among distributed processes
  • Distributed data structures
  • Data consistency
  • Deadlock detection
  • Lader election, and
  • Global snapshots issues.
Learning Outcomes:


On completion of this subject the student is expected to:

  1. Have developed an understanding of distributed algorithm design
  1. Be able to implement and analyse distributed algorithms.
  • Term project including a report (2000 words) and a 10 minute presentation (together worth 40% of the final mark), requiring approximately 50 - 55 hours of work, due week 10-12 of the semester
  • One 3-hour written examination (60% of the final mark).

Intended Learning Outcome (ILO) 1 is assessed by all the components. ILO 2 is assessed by the project component. All components should be completed satisfactorily to obtain a passing mark in this subject.

Prescribed Texts:


Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have the following skills:

  • Ability to undertake problem identification, formulation and solution
  • Capacity for independent critical thought, rational inquiry and self-directed learning
  • Profound respect for truth and intellectual integrity, and for the ethics of scholarship.


The subject will be delivered through a combination of lectures, tutorials, student presentations. Students will write a report and give a presentation.


The subject accesses a number of scholarly papers in the area which are presented through lecture slides. Papers are made available through LMS to the students. The subject also uses: Distributed Systems: Concepts and Design by Coulouris, Dollimore, Kindberg, and Blair, Fifth Edition, Addison-Wesley.


Distributed Algorithms are fundamental to understanding any Distributed System and multiple key information and communication technologies, these include but are not limited to the Internet, Banking Networks, and Mobile Systems.

Related Course(s): Master of Information Technology
Master of Information Technology
Master of Philosophy - Engineering
Master of Science (Computer Science)
Master of Software Systems Engineering
Ph.D.- Engineering
Related Majors/Minors/Specialisations: Computer Science
Computer Science
MIT Distributed Computing Specialisation
Master of Engineering (Software)

Download PDF version.