Description
Aims:
The aim of this module is to provide students with an introduction to data structures and algorithms that are fundamental to programming and to understand computation. We will apply these techniques to computational problems, with the aim to develop problem-solving skills, to develop the ability to analyse the efficiency of algorithms, and to encourage a thoughtful approach to the analysis and design of computational problems.
Intended learning outcomes:
On successful completion of the module, a student will be able to:
- Understand a variety of fundamental data structures and be able to use them effectively in the design and implementation of algorithms.
- Understand a variety of fundamental algorithmic problems and algorithms for solving them.
- Analyse the space and time efficiency of algorithms and understand how to design efficient algorithms.
Indicative content:
The following are indicative of the topics the module will typically cover:
- Analysis of algorithms
- Abstract Data Types
- Sorting Algorithms
- Searching Algorithms
- Graphs Algorithms
- String-processing Algorithms
Requisites:
To be eligible to select this module as optional or elective, a student must be registered on a programme and year of study for which it is a formally available.
Students are expected to have basic experience of programming in Python. Resources for self-study and Programming Tutor support will be provided in advance of the module.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý