Last modified: 16 Hours, 22 Minutes ago
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 |
5 x MCQ Test (5% each) Duration: 45 minutes each |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
| 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 |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| 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 | An appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| Procedural | Create | The ability to design, specify, describe and implement appropriate algorithms to real world problems |
| Assessment Type | Formative | Weighting | ||
|---|---|---|---|---|
| Assessment Weeks | Feedback Weeks | |||
| Feedback |
5 x Programming Submission/Test |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
| 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 |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| 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 Resit Exam Plus carried forward continuous assessment marks (25%) |
|||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
|
|
||
| Knowledge Level | Thinking Skill | Outcome |
|---|---|---|
| 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 |
| Conceptual | Understand | Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency |
| Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
| Procedural | Create | The ability to design, specify, describe and implement appropriate algorithms to real world problems |
We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.