CONTACT CSU

ITC527 Concurrent Programming (8)

CSU Discipline Area: Computing (COMPU)

Duration: One session

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 Locations

Session 1
Distance Bathurst

Continuing students should consult the SAL for current offering details: ITC527

Where differences exist between the Handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Assumed Knowledge:

ITC138 or ITC220 or ITC438 or ITC322 or ITC421

Objectives:

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 2013 CSU Handbook was accurate at the date of publication: 24 April 2013. The University reserves the right to vary the information at any time without notice.