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

Module Specifications.

Current Academic Year 2024 - 2025

All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).

As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.

Date posted: September 2024

Module Title Object Oriented Programming with Java
Module Code C2 (ITS) / ICT1009 (Banner)
Faculty Engineering & Computing School Electronic Engineering
Module Co-ordinatorRichard Bolger
Module Teachers-
NFQ level 8 Credit Rating 15
Pre-requisite Not Available
Co-requisite Not Available
Compatibles Not Available
Incompatibles Not Available
Repeat examination
Array
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.



Workload Full-time hours per semester
Type Hours Description
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

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

Assessment Breakdown
Continuous Assessment25% Examination Weight75%
Course Work 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
Reassessment Requirement Type
Resit arrangements are explained by the following categories:
Resit category 1: A resit is available for both* components of the module.
Resit category 2: No resit is available for a 100% continuous assessment module.
Resit category 3: No resit is available for the continuous assessment component where there is a continuous assessment and examination element.
* ‘Both’ is used in the context of the module having a Continuous Assessment/Examination split; where the module is 100% continuous assessment, there will also be a resit of the assessment
This module is category 1
Indicative Reading List

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

None

<< Back to Module List