Module overview
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.
Linked modules
Pre-requisite: COMP1202
Aims and Objectives
Learning Outcomes
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Construct multi-threaded Java applications
- Construct Java applications with Graphical User Interfaces
- Use pointers to manipulate dynamically allocated storage in C
- Use persistent storage for Java applications
- Perform testing on Java programs using JUnit
Syllabus
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
- Patterns
Learning and Teaching
Type | Hours |
---|---|
Revision | 12 |
Preparation for scheduled sessions | 12 |
Lecture | 36 |
Supervised time in studio/workshop | 22 |
Completion of assessment task | 25 |
Follow-up work | 12 |
Wider reading or practice | 31 |
Total study time | 150 |
Resources & Reading list
Internet Resources
Textbooks
Kochan (2005). Programming in C. Sams Publishing.
Deitel & Deitel (2005). Java: How to Program. Prentice Hall.
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Continuous Assessment | 60% |
Final Assessment | 40% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat
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.
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat Information
Repeat type: Internal & External