COM1003 Java Programming
Summary |
This module introduces programming concepts through the
Java programming language. Program design and the use of
testing to drive program creation are also covered. Initial
focus is placed on the structured aspects typical of many
programming languages: the ideas of a sequence, selection
and repetition. The object-oriented approach to building
large software systems from components is then presented.
Throughout the module, emphasis is placed on the practice of
writing well-structured and readable programs to solve
problems. |
Session |
Academic Year 2024/25 |
Credits |
20 |
Assessment |
Assessment will be via Blackboard quizzes, short programming
assignments and larger programming assignments. There will
be no written examination for this module. |
Lecturer(s) |
Dr Siobhán North, Dr Xu Xu & Dr Mari-Cruz Villa-Uriol |
Resources |
|
Aims |
- to develop an understanding of computers and computer
program execution;
- to develop an understanding of program elements such
as variables, types and objects;
- to develop skills in problem solving and program
design;
- to develop an understanding of abstractions such as
methods and control structures;
- to introduce notions of data abstraction and
encapsulation;
- to provide a grounding in object-oriented programming
techniques;
- to inculcate a component-based approach to large
program design;
- to introduce key aspects of the Java API and Swing;
- to develop an understanding of data structures and
algorithmic complexity;
- to establish a sound and consistent programming style
in Java;
- to provide experience of collaborative work on solving
programming problems;
- to introduce unit testing and develop an
understanding of how to write simple automated tests.
|
Learning Outcomes |
By the end of this course, students will:
- Recognise and apply fundamentals of Java programming
- Apply principles of object oriented programming to construct programming solutions in Java
- Demonstrate the use of object oriented design
- Develop and apply unit testing using a standard framework
- Recognise and apply key components of the Java API
- Demonstrate application of advanced programming concepts (such as exception handling, threading and recursion) in Java.
|
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
- exception handling;
- threading;
- recursion.
Components of the the Java API
- Input and output;
- Collections;
- Swing;
- specifying and developing a graphical user interface.
|
Teaching Method |
Lectures and laboratory sessions. |
Feedback |
- On assignment hand back sheets
- In Blackboard Quiz feedback
- In lectures (going through class test Q&As)
- In lab classes (going through exercises and assignment
problems).
|
|