Explore UCD

UCD Home >

COMP47500

Academic Year 2025/2026

Advanced Data Structures in Java (O/L) (COMP47500)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
4 (Masters)
Credits:
10
Module Coordinator:
Professor Eleni Mangina
Trimester:
Spring
Mode of Delivery:
Online
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

This module is suitable for students with experience in Java programming language and interested in the design and analysis of efficient algorithms and data structures. This module will emphasise on ways of storing data in a computer so that it can be used efficiently (a data structure). A well-designed data structure or algorithm allows a variety of critical operations to be performed using as little resource, both execution time and memory space, as possible. COMP47500 will cover Stacks, Queues, Deques, Priority Queues, associative memory structures (Dictionaries), linked structures (Graphs), text processing and representation, as well as the core algorithms that complement each structure. A range of implementation techniques are examined, with emphasis being given to the complexity of the various solutions and their applicability to different problem domains.

About this Module

Learning Outcomes:

On successful completion of this module the students will be able to:• Understand how to determine the amount of resources (such as time and storage) necessary to execute a particular algorithm (algorithm analysis);• Understand the object-oriented JAVA programming constructs needed to encode an algorithm;• Understand the structure, nature and use of fundamental data structures including, Arrays, Linked Lists, Stacks, Queues, Trees, Dictionaries, Graphs etc.;• Understand the object-oriented programming constructs needed to encode a data structure and its access algorithms;• Design programs using these constructs to solve large problems;• Successfully write, compile, debug and run programs using these constructs;• Analyse problems to determine the most appropriate data structures and algorithms that may be applicable to them.

Indicative Module Content:

- Running Time Analysis
- Sorting and Searching
- Arrays, Lists, Vectors
- Stacks, Queues, Deques, Priority Queues
- Trees, Dictionaries, Maps, Hashtables, Graphs

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Practical

24

Specified Learning Activities

48

Autonomous Student Learning

120

Total

216


Approaches to Teaching and Learning:
active/task-based learning;
workshops;
reflective learning;
problem-based learning

Requirements, Exclusions and Recommendations
Learning Recommendations:

In order to take this module you must have experience in Programming in Java


Module Requisites and Incompatibles
Not applicable to this module.
 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Portfolio: 5 group assignments to compose a project portfolio on GitHub and report for each of the project assignments Week 3, Week 6, Week 8, Week 11, Week 15 Graded No
100
No

Carry forward of passed components
No
 

Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Group/class feedback, post-assessment
• Online automated feedback

How will my Feedback be Delivered?

Feedback will be provided through the VLE post-assessment and discussions during the project activities.

"Data Structures and Algorithms in Java", Sixth edition, Michael T Goodrich (author), Roberto Tamassia (author), Michael H Goldwasser (author) - International Student Version

"Java Illuminated - An Active Learning Approach", Fifth Edition, Julie Anderson (author), Hervé Franceschi (author)

Name Role
Dr Levent Gorgu Lecturer / Co-Lecturer

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33 Fri 12:00 - 13:50
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 12:00 - 13:50