Advanced Programming                

introductory lectures
Chaps 2 and 3 material
KISS principle
Multi tasking
The visitor paradigm
 AWT Images
The Jimage.jar lib
Revison topics
An example class hierarchy

zip archive of the package
zip archive of files relating to thread examples
A zip archive of graphics examples



The course will cover the following advanced Java topics, and certain topics that are of more general relevance : file operations, generators, make, being examples

    Collections - ArrayList, Vector, etc, iterators, comparators, generics.
    Inheritance and interfaces, algebraic approach.
     Static variables, inner classes.
     Casting, conversions, testing for class membership and exceptions.
     Random access file operations.
     Serialisation, dynamic class loading.
     User-defined exceptions.
     Programming with visitors.
     Generators and make.
     AWT Images
     Image I/O


Intended learning outcomes

           Ability to design and implement a software system using good object-oriented practices.

         Ability to use Java SDK tools.

         Ability to build a system with complex dependencies during the software construction stage.


Summative assessment

Assessment Type







Course texts and required reading

Java Programming Advanced Topics, Wrigglesworth, publisher Thompson

Big Java, Horstman, Wiley

Lab Work

You will initially work on preparing a class hierarchy a specification of which and partial implementation is provided in this pdf file You are to complete the implementation, and to submit your results for marking as you go providing test methods which demonstrate to your satisfaction that the class is operating as specified. You should submit the results of running your test script.
As you go you should be building up a make file that will automatically compile and test the classes you build. The make file should not allow compilation of subseqent stages if a test has failed for the earlier stages.


  1. Prepare a diagram of the class hierarchy described in the document and show it to your lecturer to check that you understand the basic structure. (1 week)
  2. Implement the Numeric class, test it, submit to lecturer for marking along with test data showing that it works. ( 2 weeks )
  3. Implement the classes Bool and Text described in the specification, test them and submit to the lecturer for marking. (1 week)

2nd lab project

Never let it be said that I am a total heel, just wanting to grind my students faces in the mud. In response to near universal despair at the first series of exercises I have modified the subsequent work.
The additional project is documented in this pdf file.

[top of page]

Page Editor: Information Officer
Last Update: 16 May, 2005