Data Structures and Algorithms 1


Building on students' knowledge of programming facilities taught in Level 7 programming modules (e.g. arrays, structures, simple collections), this module introduces the standard data structures and algorithms that form the core of algorithmic thought in computer science, and introduces students to the idea of reasoning about the behaviour and performance of a computer program.


The aim of this Module is to provide the student with : To familiarise students with the standard data structures and algorithms that underpin software design and development.

Learning Outcomes

By the end of this module the student should be able to:

1.  Describe abstract and concrete requirements for data structures and algorithms.

2.  Describe a range of standard data structures and algorithms, in terms of both functionality and performance characteristics.

3.  By reasoning about behaviour and performance, be able to critically select appropriate data structures and algorithms for a given application within a software project.

Indicative Content

1 Reasoning about performance

The idea of an algorithm, time and space complexity, abstract data types

2 Basic data structures

Linked lists, stacks, queues, hash tables

3 Sorting and searching

Exhaustive and binary search, common sorting algorithms

4 Trees

Simple trees, tree search algorithms, tree representations (XML, JSON)

5 Graphs

Simple and directed graphs, graph algorithms

Statement on Teaching, Learning and Assessment

The module is taught using a combination of lectures and practical exercises, with one or two one-hour lectures and a two-hour lab each week. Lectures introduce theoretical material; this is then put into practice in the labs through guided exercises and student-led exploration. Students demonstrate their attainment of the learning outcomes through the submission of a portfolio containing completed lab exercises and a software project that they design, implement and evaluate based on the principles taught in the module.

Teaching and Learning Work Loads

Total 200
Lecture 20
Tutorial/Seminar 0
Supervised Practical Activity 20
Unsupervised Practical Activity 0
Assessment 72
Independent 88

Guidance notes

Credit Value – The total value of SCQF credits for the module. 20 credits are the equivalent of 10 ECTS credits. A full-time student should normally register for 60 SCQF credits per semester.


We make every effort to ensure that the information on our website is accurate but it is possible that some changes may occur prior to the academic year of entry. The modules listed in this catalogue are offered subject to availability during academic year 2019/10 , and may be subject to change for future years.