Award: 10 credits at level 3
Duration: 12 weeks
Start Date: Offered Semester 1, 2, and 3

COMP30500 Java-based Data Structures


This module is suitable for students interested in the design and analysis of efficient algorithms and data structures implemented in the Java programming language. This module is offered to students of the MSc in Computer Science (Negotiated Learning) and MSc, Graduate Diploma and Certificate in Environmental Sustainability

What will I study?

This module is suitable for students interested in the design and analysis of efficient algorithms and data structures. In this module students learn how to analyse, design and implement a finite set of well-defined instructions for accomplishing some task (an algorithm) along with introductory 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. Students will use Java based object - oriented paradigm as the framework of choice for building robust and reusable algorithms and data structures in this module. Specifically, we investigate a number of more advanced data structures, including: Trees, Graphs, and Maps. Also, we investigate additional algorithms for searching, sorting etc.

Participants have to pass with 70% the assessment of part A of the module in order to proceed with part B. Part A assessment involves a programming assignment and an MCQ test that shows the level of skills in Java programming language.

How will I study?

The COMP30500 will be delivered through the UCD CSI Moodle system and will consist of:
  • Audio and demonstrations by the lecturers
  • Screen recordings to demonstrate computer programmes
  • Online assessed multiple choice quizzes
  • Virtual classroom environments
  • Asynchronous discussion threads
  • Synchronous chat

To complete the course, students must have access to a relatively modern computer which matches the minimum specifications required to run the UCD software, see here for more information.

Expected Commitment

Students are not required to attend any lectures at the UCD campus, however you are expected to attend the final semester exam and spend a total 240 hours workload during the semester consisting of:

  • Lectures (audio) during the semester: 48 hours
  • MCQ: (10%) (2 hours + 24 hours preparation) 26 hours
  • Assignment 1 (10%) 10 hours
  • Assignment 2 (10%) 10 hours
  • Assignment 3 (10%) 10 hours
  • Assignment 4: (10%) 30 hours
  • Student Autonomous Learning: 104 hours
  • Exams: (50%): 2 hours

How will I be assessed?

Continuous assessment online which is composed of the following:

  • MCQ: 10%
  • Assignment 1: Evaluation of Algorithms: 10%
  • Assignment 2: Stacks: 10%
  • Assignment 3: Queues: 10%
  • Assignment 4: Advanced Data Structures project: 10%
  • Final written exam on campus: 2 hour end of semester written exam: Covering all the material taught during the 12 weeks: 50%

On successful completion of this module I 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, Lists, Trees, 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.

Am I eligible?

Applicants must hold a minimum of a 2.2 honours level degree in a science, engineering or related discipline. Students should have a background in Java programming language.