School of Electronic Engineering and Computer Science

ECS510U Algorithms and Data Structures in an Object-Oriented Framework

Module code: ECS510U

Credits: 15
Semester: SEM1

Algorithms are "ways of doing something", data structures are ways of combining collections of data to form a coherent whole. Many algorithms are about processing collections of data, an obvious example being to re-arrange a collection to put it in some sorted order. This module will introduce the basic concepts of algorithms and data structures expressed using the Java programming language.

This module is intended for those who have already covered the basics of programming and wish to move on to use and develop their programming skills for designing and constructing components of programs of a larger scale.

Topics covered include:

  • Using and defining objects
  • Recursion and iteration
  • Data abstraction
  • Constructive and destructive abstractions
  • Sorting and searching
  • Efficiency
  • Linked structures
  • Implementing collection types
  • Inheritance and generic typing
  • Generalised coding using interface types
  • Java's Collection Framework

Level: 5