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.
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.
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
Simple trees, tree search algorithms, tree representations (XML, JSON)
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
|Supervised Practical Activity||28|
|Unsupervised Practical Activity||28|
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 2017/18 , and may be subject to change for future years.