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: Christos Chrysoulas
School School of Computing, Engineering and the Built Environment
Subject area group: Computer Science
Prerequisites

Module Code: Either SET07109 or SET07110 & CSN07101.
Examples of Equivalent Learning: Any introductory programming module (ideally with a C syntax oriented language) and basic knowledge of computer organisation & architecture.

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
2023/4, Trimester 2, ONLINE, Edinburgh Napier University
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: ONLINE
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
Member of staff responsible for delivering module: Christos Chrysoulas
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Lecture 24
Face To Face Practical classes and workshops 24
Independent Learning Guided independent study 152
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Project - Practical 100 1,2,3,4,5 10 HOURS= #..##, WORDS= 0
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

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