Module overview
Aims and Objectives
Learning Outcomes
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- empirically evaluate the performance of algorithms for a given dataset.
- design data structures and algorithms appropriate to a particular biomedical engineering problem.
- implement given data structures and algorithms.
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- the fundamentals of algorithms and data structures, including time and space complexity analysis; and
- the basic principles of writing software to process biomedical data using appropriate algorithms and data structures.
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- select the most appropriate algorithmic strategies for a particular problem
- evaluate the complexity of algorithms.
Syllabus
- Abstract Data Types (ADTs) including collection, dictionary, lists, queues, stacks and trees.
- Arrays: single, multi-dimensional and sparse.
oLinear and binary search.
- Graphs.
oCharacteristics: (un)directed, (a)cyclic, (un)connected, and (un)weighted.
oSearching algorithms: Breadth-first, shortest-path, depth-first, minimal spanning tree.
- Sorting Algorithms: Selection, insertion; quicksort, merge, and fast-sorting.
- Algorithmic analysis framework.
oAverage, best, and worst-case performance.
oEmpirical and relative (order of growth) measurements: Constant, logarithmic, linear, log linear, quadratic, cubic, and exponential.
oInput size and primitive operations.
oTime and space efficiency.
- Asymptotic complexity analysis.
oBig O, little o, big Omega, and big theta.
oFoundational complexity/Efficiency classes.
- Tractability and intractability.
- Linear programming, dynamic programming and Heuristic approximations.
Learning and Teaching
Teaching and learning methods
In-person lectures and tutorials.
Computer labs.
Individual study.
Type | Hours |
---|---|
Preparation for scheduled sessions | 24 |
Lecture | 24 |
Practical classes and workshops | 12 |
Revision | 10 |
Wider reading or practice | 56 |
Assessment tasks | 24 |
Total study time | 150 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Examination | 70% |
Assessed Practicals | 30% |