Overview

This unit of study aims to introduce students to the design and development of concurrent and parallel programs.

Requisites

Prerequisites
COS20007 Object Oriented Programming

OR
SWE20004 Technical Software Development
OR
COS30008 Data Structures and Patterns
OR
COS30043 Interface Design and Development

Anti-requisite
COS30003 Advanced .NET Programming

Teaching periods
Location
Start and end dates
Last self-enrolment date
Census date
Last withdraw without fail date
Results released date

Learning outcomes

Students who successfully complete this unit will be able to:

  • Design and develop complex concurrency control utilities using threading and primitive synchronisation mechanisms of the language used
  • Apply contemporary programming languages and frameworks to design and develop concurrent and parallel programs
  • Analyse algorithm and utility designs to identify, explain, and correct issues related to safety, liveness, performance and reusability in concurrent contexts
  • Compare and contrast concurrency support provided by different programming language frameworks

Teaching methods

Hawthorn

Type Hours per week Number of weeks Total (number of hours)
Live Online
Lecture
2.00 12 weeks 24
On-campus
Class
1.00 12 weeks 12
Unspecified Activities
Independent Learning
9.50 12 weeks 114
TOTAL150

Assessment

Type Task Weighting ULO's
Online TestsIndividual 15 - 25% 1,2,3,4 
Report 1Individual 25 - 35% 1,3,4 
Report 2Individual 5 - 15% 1,2,3,4 
TestIndividual 35 - 45% 1,2,3,4 

Content

  • Concurrency mechanisms
  • Concurrency control primitives
  • Concurrency control utilities
  • Design forces related to concurrent software development

Study resources

Reading materials

A list of reading materials and/or required textbooks will be available in the Unit Outline on Canvas.