Parallel and Multicore Computing

Subject COMP90025 (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 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 27-Jul-2015 to 25-Oct-2015
Assessment Period End 20-Nov-2015
Last date to Self-Enrol 07-Aug-2015
Census Date 31-Aug-2015
Last date to Withdraw without fail 25-Sep-2015

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

200 hours


Knowledge of Operating Systems and Networks, and C Programming.



Recommended Background Knowledge:

C programming and UNIX familiarity.

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:


Dr Aaron Harwood



Subject Overview:


The subject aims to introduce students to parallel algorithms and their analysis. Fundamental principles of parallel computing are discussed. Various parallel architectures and programming platforms are introduced. Parallel algorithms for different architectures, as well as parallel algorithms addressing specific scientific problems are critically analysed.


Topics include: principles of parallel computing, PRAM model, PRAM algorithms, parallel architectures, OpenMP, shared memory algorithms, systolic algorithms, parallel communication patterns, PVM/MPI, scientific applications, hypercube, graph embeddings and extended parallel computing models.

Learning Outcomes:


On completion of this subject the student is expected to:

  1. Have an understanding of parallel algorithms, analysis and architectures
  2. Obtain experience developing parallel algorithms for various parallel architectures
  • Intended Learning Outcomes (ILOs) 1 and 2 are addressed by extensive Project work requiring approximately 50 - 55 hours or work (40%), which involves programming exercises, measurements and analysis, architecture specific programming and written work
  • ILO 1 is also addressed by one 3-hour end of semester examination (60%).

Hurdle requirement: To pass the subject, students must obtain at least:

  • 50% overall.
  • 20/40 in the Project work
  • 30/60 in the end-of-semester written examination.

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 the student 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 and project work. The project work involves developing parallel algorithms implemented on a variety of parallel architectures and report writing.


Students will have access to lecture notes and lecture slides. The subject LMS site also contains links to recommended literature and current survey papers of parallel computing. Students will make use of parallel computer systems.


The subject provides the fundamentals in parallel computing that support a career in areas such as HPC Systems Administrator, HPC Programmer, Specialist Programmer, Systems Administrator, Numerical Modelling and Analytics Developer.

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: MIT Distributed Computing Specialisation
Master of Engineering (Software)

Download PDF version.