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 replications.
Learning Outcomes
Upon successful completion, students will have the knowledge and skills to:
Upon completion of this course, the student will be able to:
- Describe the concepts involved in the construction of concurrent and distributed systems
- "Speak the language" of concurrent modelling, design and programming
- Select 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.
Professional Skills Mapping:
Mapping of Learning Outcomes to Assessment and Professional Competencies
Indicative Assessment
Assignments (40%); Mid-Semester Exam (10%); Practical Exercises (10%); Final Exam (50%)
The ANU uses Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the ANU Online website.
Workload
Two 1.5 hour lectures and one 2 hour tutorial/lab sessions per week.
Requisite and Incompatibility
Prescribed Texts
M. Ben-Ari, Principles of Concurrent and Distributed Programming, Addison-Wesley, second edition, 2006
Majors
Minors
Fees
Tuition fees are for the academic year indicated at the top of the page.
If you are a domestic graduate coursework or international student you will be required to pay tuition fees. Tuition fees are indexed annually. Further information for domestic and international students about tuition and other fees can be found at Fees.
- Student Contribution Band:
- 2
- Unit value:
- 6 units
If you are an undergraduate student and have been offered a Commonwealth supported place, your fees are set by the Australian Government for each course. At ANU 1 EFTSL is 48 units (normally 8 x 6-unit courses). You can find your student contribution amount for each course at Fees. Where there is a unit range displayed for this course, not all unit options below may be available.
Units | EFTSL |
---|---|
6.00 | 0.12500 |
Course fees
- Domestic fee paying students
Year | Fee |
---|---|
2015 | $3096 |
- International fee paying students
Year | Fee |
---|---|
2015 | $4146 |
Offerings, Dates and Class Summary Links
ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.
Class summaries, if available, can be accessed by clicking on the View link for the relevant class number.
Second Semester
Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
---|---|---|---|---|---|---|
1394 | 20 Jul 2015 | 07 Aug 2015 | 31 Aug 2015 | 30 Oct 2015 | In Person | N/A |