Description

This module focuses on the fundamental structures used to store data and the standard algorithms for manipulating them. Fundamental data structures include lists, stacks, queues, trees, heaps and hash tables. Standard algorithms include searching, sorting, and traversals. Along with implementation details, students will learn to analyze the time and space efficiency of algorithms and how to select appropriate data structures and algorithms for a specific application. In homework, labs, and programming projects, students will implement their own data structures and make use of existing libraries to solve a variety of computational problems.

Learning Outcomes

On completion of this module the learner will/should be able to:

  1. Design and implement basic recursive functions.
  2. Identify problems that are better suited to being programmed recursively.
  3. Choose and apply suitable data structures and algorithms for particular problems.
  4. Create and manipulate dynamic data structures such as linked lists, stacks, queues and binary trees.
  5. Design and implement solutions using generic abstract data types.
  6. Implement these algorithms in an object-oriented language.

Indicative Syllabus

Generic ADTs (Abstract Data Types)
Recursion
Factorial, Fibonacci, Number reversal
Towers of Hanoi
Tail Recursion
Recursion versus Iteration
Recursion removal
Linked Lists
Static and Dynamic implementation of:Sorted and Unsorted Linked Lists, Stacks, Queues,Circular and Doubly Linked Lists
Binary Trees
Tree traversals
Binary Search Trees

Teaching and Learning Strategies

This module aims to use active learning by combining theoretical aspects of with practical implementation giving the student a strong overall understanding of the subject.

Assessment Strategies

Learners must achieve at least 40% in the module. There is no terminal examination. The module is 100% assessed by continuous assessment of laboratory/workshop based assignments and interim assessments.

Repeat Assessment Procedures

The repeat opportunity is by means of

  • a research report/project/essay
  • practical examination
  • repeat and attend the module.