production
Skip to Content

JC2506: ALGORITHM DESIGN AND ANALYSIS (2023-2024)

Last modified: 05 Oct 2023 08:46


Course Overview

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.

Course Details

Study Type Undergraduate Level 2
Session Second Sub Session Credit Points 15 credits (7.5 ECTS credits)
Campus Offshore Sustained Study No
Co-ordinators
  • Dr Tryphon Lambrou

What courses & programmes must have been taken before this course?

  • Any Undergraduate Programme (Studied)

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

None.

Are there a limited number of places available?

No

Course Description

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

• Ability to demonstrate the correctness of algorithms
• Understanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency
• An appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks
• The ability to design, specify, describe and implement appropriate algorithms to real world problems.


Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

More Information about Week Numbers


Details, including assessments, may be subject to change until 31 August 2023 for 1st half-session courses and 22 December 2023 for 2nd half-session courses.

Summative Assessments

Assignment

Assessment Type Summative Weighting 30
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualAnalyseThe ability to design, specify, describe, and implement appropriate algorithms to real world problems.
ConceptualApplyAn appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks.
ConceptualApplyAbility to demonstrate the correctness of algorithms.
ConceptualUnderstandUnderstanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency.

Exam

Assessment Type Summative Weighting 70
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Main Exam Venue.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualAnalyseThe ability to design, specify, describe, and implement appropriate algorithms to real world problems.
ConceptualApplyAn appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks.
ConceptualApplyAbility to demonstrate the correctness of algorithms.
ConceptualUnderstandUnderstanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency.

Formative Assessment

There are no assessments for this course.

Resit Assessments

Exam

Assessment Type Summative Weighting 100
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Main Exam Venue. 

Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Course Learning Outcomes

Knowledge LevelThinking SkillOutcome
ConceptualApplyAbility to demonstrate the correctness of algorithms.
ConceptualUnderstandUnderstanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency.
ConceptualApplyAn appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks.
ConceptualAnalyseThe ability to design, specify, describe, and implement appropriate algorithms to real world problems.

Compatibility Mode

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.