CFR3312

Concurrent programming with Java

K O'Yang

6 points
* 4 hours per week
* Second, summer semester
* Peninsula
* Prerequisites: CFR2128 or equivalent
* Prohibitions: SFT2200, SFT3200

Objectives By the end of the subject, students will be expected to have gained a sound knowledge of the Java language; a consolidation and extension of their knowledge in object-oriented programming; a bsic understanding on design issues in concurrent multi-threaded programming; knowledge that software reuse assists in building applications; the ability to develop multi-threaded applications in Java.

Synopsis This subject focuses on the theory and application of concurrent multi-threaded programming in modern applications development. The concept of object-oriented programming is introduced with an emphasis on reusability. The teaching language is Java as it is a simple, object-oriented language with native multi-thread programming support. Introduction to Java: language design, the Java syntax, differences between Java and C++. The Java environment: development tools (compiler, debugger, document generator). Objects and classes: construction and garbage collection, inheritance, polymorphism. Abstraction: abstract classes, interface ypes. Class libraries: API to basic libraries, class hierarchies. Software reuse: compositional software contruction. Applets: limitiations of applets, applet security, platform-neutral software. Events and exceptions: system and user defined exceptions, event handler. Finite state machines: automata, eventdriven loops. Concurrency control: containment and synchronisation. Threads and their interaction: deadlocks and conflicts, state-dependent actions, handling of user services, flow and co-ordinated interaction. Case studies of concurrent applications: network services server, database connectivity.

Assessment Examination: 50%
* Tutorial presentation: 10%
* Assignment: 40%

Prescribed texts

Lea D Concurrent programming in Java: Design principles and patterns Addison-Wesley, 1997
Flanagan D Java in a nutshell O'Reilly, 1996

Recommended texts

Atkinson C Object-oriented reuse, concurrency and distribution Addison-Wesley 1991
Booch G Object-oriented analysis and design Benjamin Cummings 1994
Gosling J and others The Java application programming interface Addison-Wesley 1996
Gregory A Concurrent programming: Principles and practice Benjamin Cummings, 1991
Kleiman S, Shah D and Smaalders B Programming with threads Prentice-Hall, 1995

Back to the Information Technology Handbook, 1998
Handbook Contents | University Handbooks | Monash University


Published by Monash University, Australia
Maintained by wwwdev@monash.edu.au
Approved by M Rambert, Faculty of Information Technology
Copyright © Monash University 1997 - All Rights Reserved - Caution