This module is offered in 2023-24.


The aims of this module are:

  • To introduce algorithms from an analytical point of view.
  • To use data structures (data type design) as a vehicle for the elements of algorithm design.

Learning Outcomes

On successful completion of this module, the student should:

  • Be aware of the need for abstraction in data type design.
  • Be familiar with a variety of common data structures and the basic theory of algorithms.
  • Have a working knowledge of relevant Java class libraries.
  • Understand the basics of programming language theory and compilation.


Abstract Data Structures: - The implementation and use of lists, arrays, sets, stacks, queues, trees and maps. Programming Language Fundamentals: - Basics of programming language theory and processing: syntax and parsing.

Compulsory Elements

This module has no compulsory elements beyond those common to all sub-Honours modules (tutorials, mark of 4 in each assessment component).

Module Delivery

Module Coordinator

Back to top

Last Published: 01 Oct 2023.