books-library-folders

Area/Catalogue
INFT 3030

graduate-cap

Course Level
Undergraduate

globe-earth-geography

Offered Externally
Yes

Note: This offering may or may not be scheduled in every study period. Please refer to the timetable for further details.

diploma-certificate-graduate-degree

Course ID
156791

pie-chart-graph

Unit Value
4.5

compass

University-wide elective course
No

Course owner

Course owner
School of Information Technology and Mathematical Sciences

Course aim

To give students the theoretical and practical skills to be able to create safe high performance parallel and concurrent software.

Course content

Introduction: Definitions of concurrency and parallelism and their need in modern computing systems.

Concurrency theory: The interleaving model of concurrency. The labeled transition system formalism for concurrency. Traces, atomicity, deterministic and non deterministic choice. Properties of concurrent systems. Safety and liveness.

Concurrency practice: Java threads. Low level synchronization with monitors and semaphores. High level design patterns for concurrent computing. The java.util.concurrent implementation of design patterns: Thread per minute, worker threads, polling and event driven IO, thread pools, joining threads, futures, scheduling, parallel decomposition, fork join, barriers, active objects. Thread safe collections. Android concurrency design patterns

Parallel Programming: Overview of OpenMP for multicore, MPI for clusters and OpenCL for GPUs.

Testing of software: Testing for correctness, testing for performance.

Textbook(s)

Jeff Magee, Jeff Kramer 2006, Concurrency: State Models and Java Programs, 2nd , Wiley, Milton, Queensland

Douglas Lea 2000, Concurrent Programming in Java: Design Principles and Patterns, 2nd, Addison-Wesley Professional

Prerequisite(s)

Nil

Corequisite(s)

Common to all relevant programs
Subject Area & Catalogue Number Course Name
COMP 2012 Data Structures

Teaching method

Component Duration
INTERNAL, MAWSON LAKES
Lecture 2 x weekly
Computer Practical 2 x Weekly
EXTERNAL, MAWSON LAKES, ONLINE
External N/A x 13 weeks

Note: These components may or may not be scheduled in every study period. Please refer to the timetable for further details.


Assessment

Assignment, Continuous assessment, Test

Fees

EFTSL*: 0.125
Commonwealth Supported program (Band 2)
To determine the fee for this course as part of a Commonwealth Supported program, go to:
How to determine your Commonwealth Supported course fee. (Opens new window)

Fee-paying program for domestic and international students
International students and students undertaking this course as part of a postgraduate fee paying program must refer to the relevant program home page to determine the cost for undertaking this course.

Non-award enrolment
Non-award tuition fees are set by the university. To determine the cost of this course, go to:
How to determine the relevant non award tuition fee. (Opens new window)

Not all courses are available on all of the above bases, and students must check to ensure that they are permitted to enrol in a particular course.

* Equivalent Full Time Study Load. Please note: all EFTSL values are published and calculated at ten decimal places. Values are displayed to three decimal places for ease of interpretation.

Course Coordinators

Dr John Hopf
Dr John Hopf arrow-small-right

Checking your eligibility