The aim of this module is to teach the students advanced programming techniques using Java in order to support its use on other modules. C will also be taught in order to introduce explicit memory allocation and the use of pointers.
Aims and Objectives
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Construct multi-threaded Java applications
- Perform testing on Java programs using JUnit
- Use pointers to manipulate dynamically allocated storage in C
- Use persistent storage for Java applications
- Construct Java applications with Graphical User Interfaces
Graphical User Interface Programming
- Writing Java user interfaces using an appropriate framework
- User interfaces Components
- Event Handling
- Graphics in User Interfaces
Control Flow and the Java Virtual Machine
- JVM overview
- Exceptions and exception handling
- Recursion in the JVM
- Multi-threading and synchronisation
Storage and Files in Java
- Garbage Collection
- Strings and Character Encodings
- Input/Output and Object Serialisation
Validation and Verification
- Black Box Testing
- White Box Testing
- Integration Testing Strategies
The C programming language
- Introduction to the language
- Pointers and pointer arithmetic
- Data structures and arrays
- Comparison with Java
Learning and Teaching
|Completion of assessment task||25|
|Supervised time in studio/workshop||22|
|Wider reading or practice||31|
|Preparation for scheduled sessions||12|
|Total study time||150|
Resources & Reading list
Deitel & Deitel (2005). Java: How to Program. Prentice Hall.
Kochan (2005). Programming in C. Sams Publishing.
This is how we’ll formally assess what you have learned in this module.
This is how we’ll assess you if you don’t meet the criteria to pass this module.
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Repeat type: Internal & External