production
Skip to Content

JC3002: ALGORITHM DESIGN AND ANALYSIS (2024-2025)

Last modified: 23 Jul 2024 11:06


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 3
Term Second Term 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 30 August 2024 for 1st term courses and 20 December 2024 for 2nd term courses.

Summative Assessments

Exam

Assessment Type Summative Weighting 70
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
ConceptualApplyAbility to demonstrate the correctness of algorithms
ConceptualApplyAn appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks
ConceptualUnderstandUnderstanding of the theory underpinning algorithmic complexity and ability to compare algorithms for efficiency

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
ConceptualApplyAbility to demonstrate the correctness of algorithms
ConceptualApplyAn appreciation of the trade-offs between different types of data structures and the ability to identify an appropriate data structure for different tasks
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
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.