Module Specifications...

Current Academic Year 2017 - 2018

Please note that this information is subject to change.

Module Title Object Oriented Programming with Java
Module Code C2
School Open Education
Online Module Resources

Module Co-ordinatorSemester 1: Eamon Costello
Semester 2: Eamon Costello
Autumn: Eamon Costello
Module TeacherNo Teacher Assigned
NFQ level 8 Credit Rating 15
Pre-requisite C1
Co-requisite None
Compatibles None
Incompatibles None
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
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
Independent Study338Reading, study, research and problem solving
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:

Indicative Content and Learning Activities
Computer Programming overview/ The Principals Of Programming

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

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

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

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

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

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

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.

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

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.


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 Assessment30% Examination Weight70%
Course Work Breakdown
TypeDescription% of totalAssessment Date
AssignmentJava coding assignment from units 1 to 510%Week 9
AssignmentJava coding assignment from units 1 to 910%Week 21
AssignmentJava coding assignment from units 1 to 1510%Week 28
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
This module is category 1
Indicative Reading List
  • Cay S. Horstmann,: 0, Java For Everyone, 978-1-1180-6331-6
Other Resources
Programme or List of Programmes
CCCTCert. in Comp & Comm Technology
HDSDHigher Diploma in Software Development
ISBSc in Management of Info Tech/Info Syst
ISDIPDiploma in Management of IT/IS
ITBSc in Information Technology
ITDIPDiploma in Information Technology
ITSDiploma/BSc in Information Technology
Timetable this semester: Timetable for C2
Date of Last Revision08-DEC-10