Teaching Responsibility

LJMU Schools involved in Delivery:

Computer Science and Mathematics

Learning Methods

Lecture

Practical

Module Offerings

7129COMP-SEP-CTY

Aims

The course will develop the necessary skills for the development of object-oriented applications using the Java programming language. Students will work cooperatively in groups and demonstrate the skills required to engineer Java-based software applications from initial specification, through to implementation, testing and documentation.

Learning Outcomes

1.
Explain the use of object-oriented principles in the design of software applications.
2.
Use advanced object-oriented principles to specify and design software applications.
3.
Implement, as part of a team, object-oriented designs using the Java programming language.
4.
Test and document, as part of a team, Java-based applications.
5.
Critically evaluate the use of object-oriented development techniques.

Module Content

Outline Syllabus:Foundations of object-orientation. Anatomy of Java classes – fields, constructors, methods. Objects and classes – what is an object, object state, objects as parameters. Object interaction – method invocation, objects calling objects. Designing classes – responsibility-driven design. Application structures – inheritance, subtyping, polymorphism. Abstraction techniques – simulation, abstract classes, interfaces. Handling errors – defensive programming, exceptions. Designing applications – analysis and design, class design, documentation, group cooperation. Case Study – design of a chosen application. Java-based user-interfaces – AWT and Swing APIs
Module Overview:
This course will develop the necessary skills for the development of object-oriented applications using the Java programming language. You will work cooperatively in groups and demonstrate the skills required to engineer Java-based software applications from initial specification, through to implementation, testing and documentation.
Additional Information:The module lectures, tutorials and labs will use the BLUEJ development tool, which is a GUI-based development aid loosely based on UML. The group coursework will be completed in groups of two students and appraisals will be used to assess individual student effort.

Assessments

Artefacts

Portfolio