## DATA STRUCTURES AND ALGORITHMS (CCE)

 SHE Level 3 SCQF Credit Points 20.00 ECTS Credit Points 10.00 Module Code M3G424650 Module Leader Martin MacDonald School School of Computing, Engineering and Built Environment Subject SCEBE - School Office Trimesters A (September start) B (January start)

### Pre-Requisite Knowledge

Computer Programming

### Summary of Content

This course attempt to introduce the student to broad range of fundamental algorithms. The algorithms described have found widespread use and represent an essential body of knowledge for both the programmer and the Computer Science student. The goal is to emphasize on the problem solving process. Also the module introduces Abstract Data Types(ADT) which are broadly useful and relevant in modern Object Oriented Programming Environments

### Syllabus

The teaching syllabus will cover the following areas: Elementary Data Structures : Arrays, Linked Lists, Elementary List Processing, Memory allocation for Lists and Strings. Stacks and Queues Definitions and Operations, Array Implementation of Stacks, Implementation of Queues, Circular Queues. Recursion and Trees : Recursive Algorithms, Divide and Conquer, Dynamic Programming, Trees, Tree traversal and Graph Traversal. Sorting and Searching : Notations and Concepts, Selection Sort, Bubble Sort, Merge Sort , Quick sort, Heap sort, Sequential Search, Binary Search and Binary Search Trees (BST).

### Learning Outcomes

On completion of this module the student should be able to1. Distinguish between data structures arrays and linked lists.(AM1)2. Implement data structures lists, stacks, queues, trees and graphs for solving real world problems.(AM1, AM4)3. Design algorithms for solving problems using recursive, divide-and-conquer and dynamic programming approaches.(AM1, AM4)4. Implement major sorting and searching algorithms. .(AM1, AM4)5. Analyse the efficiency of algorithms.(AM1)

### Teaching / Learning Strategy

The main teaching method will be based on lectures with laboratory exercises used to relate theoretical concepts to practical experience. Students are directed to analyze the problem using either an algorithm or flowchart. Different types of problems will be covered under each topic.

-360 1. Sedge Wick Robert, P. (1997), Algorithms in C, Parts 1-4, 3 rd Edition, Addison-Wesley Professional. 2. Tremblay, Jean-Paul and Sorenson, Paul G Sorenson, An Introduction to data structures with applications, (1984), 2 nd Ed., Mcgraw-Hill . -360 3. RY Shukla (2003), Data Structures Using C : Lab work book, BPB Publications. Kruse Robert L ,Leung Bruce P and Tondo, (1996) , Data Structures and Program Design in C, 2 nd Ed., New York ,Prentice Hall .

### Transferrable Skills

Problem analysis and solving using high level programming languages. Laboratory exercises will further enhance the logical capability of students which is very essential when they work on projects.

### Module Structure

Activity Total Hours
Independent Learning (FT) 100.00
Assessment (FT) 16.00
Lectures (FT) 56.00
Practicals (FT) 28.00

### Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 30.00 35% Lab exercise with report-1500 words
Exam (School) 1.50 20.00 35% Mid-term test -  Unseen written examination-1½ Hours
Exam (Exams Office) 3.00 50.00 45% Final Examination -  Unseen written examination-3 Hours