Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search

Module Descriptor School of Computer Science and Statistics

Module CodeCS3D5A
Module NameData Structures and Algorithms
Module Short TitleN/a.
Semester TaughtSemester 1 (BAI C,D,CD,)
Contact HoursLectures/week: 3
Lab/week: 1x 3hr
Tutorial/week: 1

CS3D5A: 88 hours total (BAI CD,)
Module PersonnelAnton Gerdelan
Learning Outcomes
  • Understand a range of fundamental data structures and algorithms, being able to discuss their advantages, disadvantages, and curiosities.
  • Decide on and design data structures and algorithms that are efficient and practicable for a particular software project, being able to reason about their costs and complexities.
  • Program data structures and algorithms by hand.
  • Know several methods to reason about and evaluate the complexity and performance of candidate solutions to computing problems.
Learning Aims

To study well-established computing theory, with special consideration for sorting and searching problems. To develop strong, practical computer programming skills with a sound understanding of available compute and memory hardware resources.

Module Content

Study of:

  • Sorting algorithms, searching algorithms.
  • Arrays, lists, stacks, heaps, maps and hash tables, trees, graphs.
  • “Big Oh” approximation, performance analysis techniques.
  • C programming techniques. Memory allocation and management.
Recommended Reading List

Relevant material on the world-wide web will be introduced.

Module PrerequisitesNone.
Assessment Details

Assessment is based on 4 assignments (40%), and a final examination (60%).

Assignments provide a programming challenge to apply theory to C programs. Students will submit program source code with a brief written explanation document. Grades are given for having a correct, sound, program that compiles and runs without crashing and solves the problem specified. 10% of assignment grade may be awarded for a written description that clearly conveys understanding of the problem and written code.

The exam with test the breadth and depth of understanding of classic algorithms, and students will demonstrate practical knowledge and ingenuity by solving given problems.

A total mark of at least 40% should be achieved to pass. Late work will not be accepted.

Module Website
Academic Year of Data