• Offered by Research School of Computer Science
  • ANU College ANU College of Engineering and Computer Science
  • Classification Advanced
  • Course subject Computer Science
  • Academic career PGRD
  • Mode of delivery In Person
  • Co-taught Course

There are no plans to run this course in the next few years. Do not plan on taking this course as a part of the Computer Systems Specialisation.

This course is a practical introduction to large-scale multicore computing. It covers the principles and practices of contemporary and emerging multicore computers, with an emphasis on their impact upon software engineering practice. It also has an emphasis on the state-of-the-art of research which is driving the rapid evolution of these systems.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

Students will have an understanding of the issues involved in the design of hardware and programming languages for multicore systems, and be able to employ algorithms and data structures for applications that are efficient on large-scale systems. They will be proficient in at least two programming languages used on multicore systems, and will be able to evaluate their program's reliability and scalability. Students will have an understanding of the research issues driving multicore technology, and be  able to assimilate and understand the impact of current literature.

Indicative Assessment

Assignments 30%, Research Presentation 20%, 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.


There will be one two-hour lecture per week (20 lectures in total), 4-6 two-hour tutorials (based on selected readings), and 6 two-hour practical laboratory sessions.

Requisite and Incompatibility

To enrol in this course you must be studying a Master of Computing. Incompatible with COMP4340.

Prescribed Texts

Maurice Herlihy and Nir Shavit, The Art of Multiprocessor Programming, Morgan Kaufmann, 2008.

Cameron Hughes and Tracey Hughes, Professional Multicore Programming: Design and Implementation for C++ Developers, Wiley, 2008.

Assumed Knowledge

Assumed knowledge is equivalent to having done the equivalent of an introductory course on computer architecture, a course on concurrency, and intermediate programming and data structure courses.



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:
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.

6.00 0.12500
Domestic fee paying students
Year Fee
2017 $3660
International fee paying students
Year Fee
2017 $4878
Note: Please note that fee information is for current year only.

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.

There are no current offerings for this course.

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions