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