Module Specifications
Academic Year 2026 - 2027
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description This module introduces the principles of Object-Oriented Programming (OOP) using the Java programming language, transitioning students from procedural logic to a robust, class-based architectural mindset. Students will learn to design and implement software using core OOP pillars: Encapsulation, Inheritance, Polymorphism, and Abstraction. The curriculum emphasises the Java environment, covering Strong Typing, Classes and Objects, and Interface design to build scalable and reusable code. By the end of the module, students will be capable of modelling real-world systems through complex object hierarchies and managing application state within the Java Virtual Machine. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Learning Outcomes 1. Develop, compile, and execute programs using Java’s strictly-typed syntax, including primitive types, control flow structures, and basic memory management. 2. Implement Core OOP Principles: Design and develop Java applications that effectively utilise encapsulation, inheritance, and polymorphism to create modular code. 3. Manage Object Hierarchies: Construct complex systems using classes, interfaces, and abstract types to model real-world relationships and data structures. 4. Design Reusable Software Components: Create scalable software by leveraging method overriding, overloading, and professional interface design patterns. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
Java Syntax and Fundamentals Mastering strongly-typed variables, control flow, and the compilation process within the Java Development Kit (JDK) environment. Classes and Objects Designing blueprints to encapsulate data and behaviour, and managing application state through object instantiation. Inheritance and Polymorphism Building hierarchical code structures that allow classes to share attributes and override methods for flexible behaviour. Encapsulation and Interfaces Using access modifiers to protect data integrity and defining formal contracts to ensure consistent communication between software components. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Reading List Books: None Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||