CONTACT CSU

No offerings have been identified for this subject in 2015

ITC527 Concurrent Programming (8)

Abstract

This subject aims to provide a solid grounding in the concepts and methods of concurrent programming in a modern object-oriented approach using Java. The subject covers the concurrent facilities provided by Java and the program design methods that are needed to create successful multi-threaded applications for areas such as multi-media, the internet and servers.

+ Subject Availability Modes and Location

Continuing students should consult the SAL for current offering details prior to contacting their course coordinator: ITC527
Where differences exist between the handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Subject information

Duration Grading System School:
One sessionHD/FLSchool of Computing and Mathematics

Assumed Knowledge

ITC138 or ITC220 or ITC438 or ITC322 or ITC421

Learning Outcomes

Upon successful completion of this subject, students should:
. be able to apply the conceptual models associated with the concurrent programming paradigm as it relates to shared-memory, object-oriented systems;
. be able to explain and identify the properties of concurrent software that are important in determining its performance;
. be able to use appropriate concurrent program design methods in constructing concurrent software;
. be able to use the concurrent facilities provided by Java to produce multi-threaded Java programs.

Syllabus

The subject will cover the following topics:
. The advantages and limitations of concurrent programs.
. The concurrent programming model for shared-memory, object-oriented systems.
. The support facilities provided by Java for concurrent programming.
. The concept of program safety and how threads are synchronised using object locks.
. The concept of program liveness and design methods for appropriately limiting thread synchronisation.
. The concept of state-dependent action and methods for handling preconditions in a concurrent program, such as guarded suspension, balking and optimistic control.
. Design patterns that cover different ways to impose synchronisation and concurrency control upon pre-existing basic functionality.
. Design patterns for systems that use oneway messaging strategies.
. Design patterns that cover different ways to create and invoke threads to perform services.

Back

The information contained in the 2015 CSU Handbook was accurate at the date of publication: 01 October 2015. The University reserves the right to vary the information at any time without notice.