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.
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.
