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.
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.