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: Any introductory programming module (ideally with a C syntax oriented language) and basic knowledge of computer organisation & architecture. AND AND Pre-requisite: [Module SET07110] Foundations of Software Design and Development AND Pre-requisite: [Module SET07109] Programming Fundamentals

Description of module content:

Whilst we can write software without paying any real attention to the way we structure our data, or the algorithms that we use to manipulate that data, our programs are likely to perform quite poorly. For example, they might run slowly, or use a lot of memory, or the problem we are trying to solve might not actually have a solution, or else it could take 10,000 years or longer to calculate a solution. In this module we will study a variety of data structures & algorithms, as well as some related topics such as how to reason about when a data structure is appropriate to use, or whether an algorithm is better (or worse) than another in a give situation.We?ll cover fundamental concepts of data structures & algorithms starting with linear data structures such as Arrays, Lists, Queues, & Stacks then looking at associative data structures such as Sets, Dictionaries, Hash Tables, Graphs, & Trees. Our study of these data structures will cover their capabilities, performance characteristics, and applications. Once we are able to store data we?ll consider how to perform operations on it using algorithms. We?ll study iterative and recursive algorithms and their applications to searching and sorting data, as well as specific applications such as the cryptographic uses of Hashing. The space and time complexity of algorithms will be studied from a practical perspective enabling us to approximate how a given algorithm will perform then communicate and compare that approximation 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
2024/5, Trimester 2, Blended, Edinburgh Napier University
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: Blended
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
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 24 LECTURE
Face To Face Practical classes and workshops 24 Practical classes and workshops
Online Guided independent study 152 Guided independent study
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 10 HOURS= 0 Project - Practical
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

Indicative References and Reading List - URL:
Contact your module leader