DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Object Oriented Programming with Java
Module Code ICT1009 (ITS: C2)
Faculty Electronic Engineering School Engineering & Computing
NFQ level 8 Credit Rating 15
Description

This module equips you with a foundation in the theory and practice of computer programming with Java. It also introduces concepts from Object Oriented development and introduces Unit Testing. Unit Testing on Java code using JUnit.

Learning Outcomes

1. Set up a development environment and write a basic working program in Java
2. Use and manipulate fundamental data types
3. Write Java code which makes decisions and iterates through loops
4. Call and use methods in Java
5. Use arrays and array lists in Java
6. Write Java programs involving reading and writing from a file, and handling exceptions
7. Build Object Oriented programs in Java
8. Use the Unified Modelling Language (UML) to model software systems
9. Apply Object Oriented Design by understanding classes, their relationships and packages
10. Think recursively and understand the difference between recursion and iteration
11. Write searching and sorting algorithms and use methods in the Standard Java Library
12. Use the architecture of the Java Collections Framework
13. Write unit tests on Java code using JUnit.


WorkloadFull time hours per semester
TypeHoursDescription
Independent Study338Reading, study, research and problem solving
Tutorial21Face-to-face tutorials are held in DCU on Saturdays and Virtual Classroom tutorials on weekday evenings according to the timetable
Online activity16Interaction with tutor and fellow students
Total Workload: 375
Section Breakdown
CRN11789Part of TermSemester 1 & 2
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorRichard BolgerModule Teacher
Assessment Breakdown
TypeDescription% of totalAssessment Date
AssignmentJava coding assignment from units 1 to 57%Week 9
AssignmentJava coding assignment from units 1 to 99%Week 21
AssignmentJava coding assignment from units 1 to 159%Week 28
Formal ExaminationEnd-of-Semester Final Examination75%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

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

Computer Programming overview/ The Principals Of Programming
________________________________________________________________________________________________

UNIT 1:
Set up a Java Programming Development Environment, Differentiate between Compile-time and Run-time errors.

UNIT 2:
Differentiate between Java and PHP, Describe the General Principals of a Java Program

UNIT 3:
Declare and use Fundamental Data Types, Read User Input and Write output to the console, Manipulate Strings

UNIT 4:
Demonstrate programming constructs using Sequence, Selection and Iteration, Implement Nested Loops.

UNIT 5:
Declare and Refactor Methods with Parameters, Distinguish between Local, Global and Parameter Variable Scope.

UNIT 6:
Formulate and Manipulate Arrays and Array Lists, Implement Common Algorithms on Arrays and Multidimensional Arrays.

UNIT 7:
Demonstrate how to Read and Parse File Input, Write Formatted Output to Files, Implement Exception Handling using try/catch Java Statements.

Classes and Objects / Object-Oriented Programming.
.

UNIT 8:
Declare Classes and Instantiate Objects with Constructors, Methods and Instance Variables.

UNIT 9:
Describe the Principals of Object Oriented Programming with reference to Abstraction, Encapsulation / Information Hiding, Dynamic Binding and Inheritance.

Modelling With UML.
.

UNIT 10:
Differentiate between Use Case diagrams, Class diagrams, State diagrams, Activity diagrams and Sequence diagrams using the Unified Modelling Language (UML).

Object Oriented Design
.

UNIT 11:
Determine how to discover and identify Classes and their responsibilities from a Requirements Specification using CRC cards, Identify the relationships between classes in terms of Dependency, Aggregation and Inheritance, Describe the Organization of Classes into Java Packages.

Recursion.
.

UNIT 12:
Describe the Flow of Control in a Recursive Computation, Describe the Principals of successful Recursion, Implement a Recursive method.

Sorting and Searching.
UNIT 13: Sort an array using Selection Sort and Merge Sort, Compare and contrast the efficiency of Selection Sort and Merge Sort using Big Oh Notation, Search an array using Linear Search and Binary Search, Compare and contrast the efficiency of searching using Linear Search and Binary Search using Big Oh Notation.

The Java Collection Framework.
.

UNIT 14:
Differentiate and identify the Use Cases for collections such as Linked Lists, Maps, Stacks, Queues and Priority Queues, Evaluate an expression in Reverse Polish Notation using a Stack.

Unit Testing.
Test Classes by writing Unit Tests using JUnit. Organise and run tests against programs using Fixtures and Test Runners, Test for Positive Outcomes and Negative Outcomes and Exceptions

Indicative Reading List

Books:
  • Cay S. Horstmann,: 0, Java For Everyone, 978-1-1180-6331-6


Articles:
None
Other Resources

None

<< Back to Module List View 2024/25 Module Record for C2