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 Engineering & Computing School Electronic Engineering
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. 1DAB0970-692D-0001-9C91-18B017267020
2. Set up a development environment and write a basic working program in Java
5. 1
6. 1DAB0970-7300-0001-533B-1CC048931AF4
7. Use and manipulate fundamental data types
10. 2
11. 1DAB0970-75C8-0001-4823-12601BD01D3D
12. Write Java code which makes decisions and iterates through loops
15. 3
16. 1DAB0970-77D8-0001-3225-B68A1FFC2810
17. Call and use methods in Java
20. 4
21. 1DAB0970-7B04-0001-A1A2-E1706790E9E0
22. Use arrays and array lists in Java
25. 5
26. 1DAB0970-7EE4-0001-545A-F0A460A5140A
27. Write Java programs involving reading and writing from a file, and handling exceptions
30. 6
31. 1DAB0970-7F35-0001-9B43-D640883F2690
32. Build Object Oriented programs in Java
35. 7
36. 1DAB0970-836B-0001-32F9-74D01D651B2B
37. Use the Unified Modelling Language (UML) to model software systems
40. 8
41. 1DAB0970-83FB-0001-E035-57101ED511A7
42. Apply Object Oriented Design by understanding classes, their relationships and packages
45. 9
46. 1DAB0970-8827-0001-E964-82246AD01E70
47. Think recursively and understand the difference between recursion and iteration
50. 10
51. 1DAB0970-896F-0001-C316-1CB0D4CF1F22
52. Write searching and sorting algorithms and use methods in the Standard Java Library
55. 11
56. 1DAB0970-8BFB-0001-A2B9-1DA0CD0319F0
57. Use the architecture of the Java Collections Framework
60. 12
61. 1DAB0970-8E8F-0001-9DAF-98901F901D72
62. Write unit tests on Java code using JUnit.
65. 13


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
Coursework25%Examination Weight75%
Grade Scale40PASSPass Both ElementsN
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 ICT1009