COM6102 Advanced Java Programming
||This module presents the object-oriented approach to
building large software systems from components in the Java
Programming Language. It assumes basic Java Programming
skills acquired in COM6471. Large-scale program design and
implementation issues are covered, using the Java
Application Programmer's Interface, the Java Foundation
Classes, the Java Abstract Windowing Toolkit and the Java
Collections Framework. Detailed topics include: data and
procedural abstraction, generics, collection interfaces and
implementations, searching and sorting algorithms, time and
space complexity analysis, the event-driven model of
computation, GUI building and files.
There will be no written examination for this module.
Assessment will be based on a 3-stage coursework assignment
weighted 35%, 35% and 30% respectively.
For each stage, there will be an individual interview with the module leader and demonstrators to demonstrate each piece of coursework and to answer questions about the assignment.
||Dr Maria-Cruz Villa-Uriol
- to provide a grounding in object-oriented programming
- to inculcate a component-based approach to large
- to introduce key aspects of GUI design;
- to develop an understanding of data structures and
- to establish a sound and consistent programming style
||By the end of this course, students will:
- understand what is meant by object-oriented and
- understand the time and space trade-offs between
different implementations of collections;
- understand the basics of visual application
- Review of object-oriented programming: objects,
classes, inheritance and polymorphism
- Exception handling
- Input and output
- Threads and Concurrency
||Only available to students whose home department is
Computer Science (or to students on joint programmes with
||Teaching will begin in the week before semester starts
followed by lectures and practical classes for the first 6-7
weeks of semester. Laboratory sessions will be ebedded during lectures to support the
The primary form of feedback will be the grades and individualised feedback
comments on the first two stages of the assignment. Individual feedback will be provided to students during the individual interviews held after the submission of each piece of coursework. Marks will be
returned with sufficient time for problems to be addressed
in the next installment. Additionally, regular lab work will
be offered to students and discussed in labs and classes with the module leader and demonstrators.
B.J Evans & D Flanagan, Java in a Nutshell (2014, 6th Ed), O'Reilly.
C. Horstmann & G. Cornell, Core Java
Vol. I and II. (2012, 2013 9th Ed), Prentice Hall.