Description
Aims:
The aims of this module are to:
- Provide students with the enabling knowledge of fundamental concepts in the standard building blocks in data structures and algorithms.
- Support students in developing problem solving, analysis and decomposing computational problems at a range of scales, selecting appropriate techniques for use in implementing solutions to the problems.
- Provide students with the tools for critical analysis to assess the effectiveness and efficiency of programs produced through appropriate static analysis, testing and run-time performance analysis.
Intended learning outcomes:
- On successful completion of the module, a student will be able to:
- Analyse the fundamental performance characteristics of algorithms.
- Design programs to solve problems in the domain of robotics and AI, making appropriate choices for data structures and algorithms.
- Explain the rationale behind the choices made.
- Implement these programs, debugging the result as necessary and measuring their performance.
Indicative content:
A knowledge of fundamental data structures and algorithms is an essential enabler for all software developers, allowing them to produce code that is time and space efficient. This is of particular importance for embedded and robotic systems developers where real time constraints apply and where resources are constrained. This module introduces some of the most fundamental data structures and algorithms but extends to more sophisticated techniques used in concurrent programming and robotics.
The following are indicative of the topics the module will typically cover:
- Pseudocode and order notation.
- Sorting algorithms.
- Root search algorithms.
- Algorithms for numerical integration and differentiation.
- Linear regression and curve fitting.
- Linked lists and trees.
- Graphs and graph algorithms.
Requisites:
To be eligible to select this module as optional or elective, a student must: (1) be registered on a programme and year of study for which it is a formally available; and (2) have completed Introduction to Programming for Robotics and Artificial Intelligence (COMP0204) in Term 1.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý