Last modified: 22 May 2019 17:07
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 as well as the student’s programming skills.
|Session||Second Sub Session||Credit Points||15 credits (7.5 ECTS credits)|
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.
Information on contact teaching time is available from the course guide.
1st Attempt: 1 two-hour written examination (50%) and in course assessments (50%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combinations of examination and in-course assessment (with the above weights). Resit: 1 two-hour written examination (75%); 25% carried forward from the weight adjusted original in-course assessments. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.
There are no assessments for this course.