Skip navigation

COMP6310 Concurrent and Distributed Systems

Offered By Research School of Computer Science
Academic Career Graduate Coursework
Course Subject Computer Science
Offered in Second Semester, 2013 and Second Semester, 2014
Unit Value 6 units
Course Description

This course is concerned with aspects of computation beyond sequential programs. Concurrency occurs naturally in most real-world applications and is also strongly suggested by any modern computer architecture. Working professionally in computing today thus means to be able to handle those challenges and to employ the available hardware to the fullest. This course introduces all basic mechanisms to analyse, design, and manage single computer as well as distributed applications. Topics addressed include: Basics of concurrency and its modelling, Mutual exclusion, Condition synchronization, Safety and liveness, Message passing, Architectures including operating systems and Distributed systems including networks, transactions and replication.

Learning Outcomes

Upon completion of this course, the student will be able to:

  • Describe and analyse the concepts involved in the construction of concurrent and distributed systems
  • "Speak the language" of concurrent modelling, design and programming
  • Select and analzye appropriate modelling techniques and mechanisms and apply them to the solution of problems in concurrent and distributed systems
  • Select the appropriate programming language and environment for the task at hand
  • Write scalable, concurrent modules which show the intended and predictable behaviours
  • Analyse and debug small to medium scale concurrent programs.
Indicative Assessment

Assignments (30%); Practical Quizzes and Exercises (10%); Mid-Semester Exam (10%); Final Exam (50%)

Workload

Thirty one-hour lectures, nine two-hour tutorials/laboratory sessions.

Course Classification(s) TransitionalTransitional courses are designed for students from a broad range of backgrounds and learning achievements, which provide for the acquisition of generic skills; or an informed understanding of contemporary issues; or fundamental knowledge for transition to Advanced or Specialist courses.
Requisite Statement

Prerequisites are COMP6700 and either  of COMP6300 or COMP6442.

Prescribed Texts

Jeff Magee and Jeff Kramer,  Concurrency: State Models and Java Programming, 2nd edn, Wiley, 2006.

Ben-Ari, M.Principles of Concurrent and Distributed Programming. Prentice Hall, 1990.

A.D. Kshemkalyani and M. Singhal, Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, March 2011.

George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems Concepts and Design, Fifth Edition, Addison Wesley, May 2011

Preliminary Reading

See prerequisites

The information published on the Study at ANU 2013 website applies to the 2013 academic year only. All information provided on this website replaces the information contained in the Study at ANU 2012 website.

Updated:   13 Nov 2015 / Responsible Officer:   The Registrar / Page Contact:   Student Business Solutions