DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Registry

Module Specifications

Archived Version 2021 - 2022

Module Title
Module Code
School

Online Module Resources

NFQ level 8 Credit Rating 5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None
Description

Building on the CA117 and CA268 modules, this module introduces students to a classic object-oriented programming language and provides an in-depth coverage of object-oriented programming concepts and design techniques.

Learning Outcomes

1. Design and implement software systems using the object-oriented programming paradigm.
2. Demonstrate an understanding of the motivation behind fundamental object-oriented concepts.
3. Specify simple software systems using the UML notation.
4. Refactor programs according to object-oriented design principles (as described by Martin Fowler).
5. Utilise existing libraries of data structures as an example of software reuse.
6. Communicate design work in a formal manner.



Workload Full-time hours per semester
Type Hours Description
Lecture24No Description
Laboratory36Short Programming Exercises
Assignment Completion12Short Programming Exercises
Independent Study78Review of lecture material, background reading and independent practice
Total Workload: 150

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

The Java Language
The following concepts will be reviewed from the perspective of implementation in the Java language: I/O, selection, iteration and recursion, data structures (the Java Collection interface), classes, methods, parameters and references, constructors, class variables.

Object-oriented Programming
Object-oriented concepts and their implementation in Java: inheritance, polymorphism, interfaces, abstract classes

Object-oriented Design
Object-oriented design: UML modelling, abstraction, coupling and cohesion.

Refactoring
Improve the design of existing code by making small well defined changes.

Assessment Breakdown
Continuous Assessment% Examination Weight%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Unavailable
Indicative Reading List

  • Martin Fowler: 0, Refactoring: Improving the Design of Existing Code,
Other Resources

None
Programme or List of Programmes
Archives: