Last modified: 18 Dec 2025 15:46
This course provides the knowledge needed to understand, design and compare algorithms. By the end of the course, a student should be able to create or adapt algorithms to solve problems, determine an algorithm's efficiency, and be able to implement it. The course also introduces the student to a variety of widely used algorithms and algorithm creation techniques, applicable to a range of domains. The course will introduce students to concepts such as pseudo-code and computational complexity, and make use of proof techniques. The practical component of the course will build on and enhance students' programming skills.
| Study Type | Undergraduate | Level | 2 |
|---|---|---|---|
| Term | Second Term | Credit Points | 15 credits (7.5 ECTS credits) |
| Campus | Aberdeen | Sustained Study | No |
| Co-ordinators |
|
||
This course provides the knowledge needed to understand, design and compare algorithms. By the end of the course, a student should be able to create or adapt algorithms to solve problems and determine their efficiency. The course also introduces students to a variety of widely used algorithms and algorithm creation techniques, applicable to a range of domains. In addition, the course introduces students to concepts such as pseudo-code and computational complexity, and the use of proof techniques.
Information on contact teaching time is available from the course guide.
| Assessment Type | Summative | Weighting | 25 | |
|---|---|---|---|---|
| Assessment Weeks | Feedback Weeks | |||
| Feedback |
45-minute in-class MCQ test |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| Conceptual | Understand | An appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks |
| Procedural | Create | The ability to design, specify, describe and implement appropriate algorithms to real world problems |
| Assessment Type | Summative | Weighting | 75 | |
|---|---|---|---|---|
| Assessment Weeks | Feedback Weeks | |||
| Feedback |
2-hour exam |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| Conceptual | Understand | An appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks |
| Procedural | Create | The ability to design, specify, describe and implement appropriate algorithms to real world problems |
There are no assessments for this course.
| Assessment Type | Summative | Weighting | 75 | |
|---|---|---|---|---|
| Assessment Weeks | Feedback Weeks | |||
| Feedback |
2-hour Resit Exam Plus carried forward continuous assessment marks (25%) |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
|
|
||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| Conceptual | Understand | An appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks |
| Procedural | Create | The ability to design, specify, describe and implement appropriate algorithms to real world problems |
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to for this site or .