COM114 Java Programming
Summary |
This module is about programming in the Java language.
There is no requirement that students arrive with any knowledge of programming although many do and some are already very experienced programmers. This module is intended to ensure that both absolute beginners and strong programmers are capable of writing clear, well structured, readable programs in Java by the end of the module.
The module is largely taught through practical classes but students will have the opportunity to pace their own learning based on their prior experience. It does mean that beginners will have to work harder than students who arrive as experts, though some students who consider themselves to be experts may have some unlearning to do. |
Session |
Autumn 2025/26 |
Credits |
20 |
Assessment |
- Programming assignments
- Final exam
|
Lecturer(s) |
Dr Maria-Cruz Villa Uriol, Dr Siobhan North, Dr Xu Xu, Miss Ayesha Sana & Ms Varvara Papazoglou |
Resources |
|
Aims |
The aims of this module are:
- Provide a solid foundation to object oriented programming in Java.
- Emphasise the importance of writing well-structured and understandable code.
|
Learning Outcomes |
By the end of the module, the student will be able to:
- Recognise and apply fundamentals of Java programming as an Object Oriented language to programming problems
- Demonstrate the ability to write well structured and maintainable Java programs that conform to the Java language conventions
- Be familiar with the Java API documentation and capable of using it in new contexts
|
Content |
Introduction to Java programming
- variables, constants and assignments;
- data types and values;
- classes and objects;
- input and output;
- problem solving and program design.
Object Oriented Programming
- classes;
- methods and parameters;
- object composition;
- inheritance;
- polymorphism.
Object-oriented programming and design
- information hiding;
- abstract data types;
- refactoring.
Testing
Advanced programming topics
Components of the Java API
- Input and output;
- Collections;
- Swing;
- specifying and developing a graphical user interface.
|
Teaching Method |
Lectures and problem solving classes |
Feedback |
Formative feedback will be provided in weekly practical classes, with additional feedback being provided for submitted coursework. |
|