This module extends the student's knowledge and skills in object-oriented application programming by a treatment of further Java language principles and of important Application Programming Interfaces (APIs). The Java Collections API is explored in some detail with emphasis on how to utilise these classes to best effect. Students will also be introduced to third-party APIs, since an important part of application programming is the process of understanding and using such APIs. The module will give students core programming skills that are required for Years 2 and 3 of the Computer Science degree schemes.

Learning Outcomes
After completing this module, students will be expected to be able to:

1. Demonstrate knowledge of core Java application libraries.
2. Explain the event-driven model underlying Java GUIs.
3. Write Java programs with interactive graphical user interfaces (GUIs).
4. Demonstrate knowledge of how Java programs interact with databases.
5. Write Java programs that make efficient use of the Java collections package.
6. Demonstrate an understanding of design patterns appropriate to Java GUIs.

Outline Syllabus
  • Java Language
  • Review of inheritance, abstract classes and interfaces
  • Exceptions
  • Generics

Application Programming and APIs
  • The Collections framework
  • User interface programming with AWT and Swing, event handling
  • Relational database interfacing with JDBC
  • Object serialization and object databases