Last modified: 23 Jul 2024 10:44
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.
Study Type | Undergraduate | Level | 3 |
---|---|---|---|
Term | Second Term | Credit Points | 15 credits (7.5 ECTS credits) |
Campus | Offshore | Sustained Study | No |
Co-ordinators |
|
This course concerns seeks to equip the student with the knowledge required to identify appropriate algorithms to address computational problems. It begins by describing the concept of an algorithm and shows how once an determine whether an algorithm solves a specific problem. Computational complexity is then introduced, allowing the student to compare algorithm efficiency. Basic data structures, such as lists, queues, trees, etc are then described and analysed. The course then examines standard approaches to algorithm creation, such as dynamic programming and search, as well as common algorithmic problems and their solutions, such as sorting.
Learning Outcomes
Information on contact teaching time is available from the course guide.
Assessment Type | Summative | Weighting | 70 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
Feedback |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Conceptual | Analyse | The ability to design, specify, describe, and implement appropriate algorithms to real world problems |
Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
Conceptual | Apply | 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 |
Assessment Type | Summative | Weighting | 30 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
Feedback |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Conceptual | Analyse | The ability to design, specify, describe, and implement appropriate algorithms to real world problems |
Conceptual | Apply | Ability to demonstrate the correctness of algorithms |
Conceptual | Apply | 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 |
There are no assessments for this course.
Assessment Type | Summative | Weighting | 100 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
Feedback |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
|
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 | Apply | 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 | Analyse | 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.