Core Module Information
Module title: Algorithms and Data Structures

SCQF level: 08:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: SET08122
Module leader: Carl Strathearn
School School of Computing, Engineering and the Built Environment
Subject area group: Computer Science
Prerequisites

Requisites: AND Pre-requisite: [Module SET07110] Foundations of Software Design and Development AND Pre-requisite: [Module SET07109] Programming Fundamentals

Description of module content:

Whilst it is possible to write software without paying much attention to the way we structure our data or the algorithms we use to manipulate it, such programs are likely to perform poorly. For example, they might run slowly, consume excessive memory, or fail to produce a solution within a reasonable timeframe—potentially taking thousands of years to compute one. In this module, we will study a variety of data structures and algorithms, along with related topics such as how to determine when a particular data structure is appropriate to use, and how to evaluate whether one algorithm is more efficient than another in a given context.We will cover the fundamental concepts of data structures and algorithms, starting with linear data structures such as arrays, lists, queues, and stacks, before moving on to associative data structures such as sets, dictionaries, hash tables, graphs, and trees. Our exploration of these data structures will focus on their capabilities, performance characteristics, and practical applications.Once we understand how to store data, we will consider how to perform operations on it using algorithms. We will study both iterative and recursive algorithms, particularly in the context of searching and sorting, as well as specific applications such as the cryptographic use of hashing. The space and time complexity of algorithms will also be examined from a practical perspective, enabling us to estimate the performance of an algorithm and communicate this effectively using Big O notation.

Learning Outcomes for module:

Upon completion of this module you will be able to

LO1: Design, develop and evaluate data structures and algorithms.

LO2: Demonstrate a working knowledge of a relevant data structures API.

LO3: Evaluate and discuss the capabilities of data structures to applicable problems.

LO4: Examine and evaluate the algorithms that work on various data structures.

LO5: Evaluate the performance of an algorithm based on the size of a problem input.

Full Details of Teaching and Assessment
2025/6, Trimester 2, Blended,
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: Blended
Location of delivery: MERCHISTON
Partner:
Member of staff responsible for delivering module: Carl Strathearn
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)NESH Description
Face To Face Lecture 20 2 Hour Lecture, the first part covering theory second data structures, algorithms and processing.
Face To Face Practical classes and workshops 20 Practical classes and workshops, students take what we covered in the lectures and apply them in code as a tangible way of learning and understanding them in practice.
Online Guided independent study 160 Guided independent study, students also have a slack channel to communicate and arrange study groups.
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words Description
Project - Practical 100 1~2~3~4~5 Week 13 HOURS= 1,500 words Following the initial design report, students will be asked to use this to write a final reflective report looking at what worked and didn't from the initial design and make recommendations based on the critical insights gained during the task.Code and 10 min video demo for CMD line boardgame, students picked to develop the game of battleships that must from a terminal or CMD.
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

Indicative References and Reading List - URL:
Algorithms and Data Structures