Module overview
Aims and Objectives
Learning Outcomes
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- design data structures and algorithms appropriate to a particular biomedical engineering problem.
- implement given data structures and algorithms.
- empirically evaluate the performance of algorithms for a given dataset.
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 |
---|---|
Revision | 10 |
Wider reading or practice | 56 |
Lecture | 24 |
Assessment tasks | 24 |
Practical classes and workshops | 12 |
Preparation for scheduled sessions | 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% |