1.
School Science and Technology
2. Department Computer Science and Information Systems
3. Programme Bachelor of Science in Information Technology
4. Module Title Data Structures and Algorithms
5. Module Code CIS-DSA-221
6. Year 2
7. Credits 10
8. Revised September 2022
9. Approval Date
10. Lecture Hours per week 2 hours
11. Tutorial/Lab Hours per 2 hours
week
12. Prerequisites:
CIS-PRO-122
13. Co-requisites:
None
14. Module Aim
The aim of this module is to impart knowledge and skills to students in common
data structures and algorithms enabling them to solve practical problems.
15. Intended Learning Outcomes
On completion of this module the student should be able to:
a) Analyse algorithms.
b) Use elementary and advanced data structures.
c) Discuss the impact of data structure on the complexity of algorithms.
d) Develop algorithms to solve practical problems.
16. Indicative Content
a) Introduction to algorithm analysis:
i. The time complexity of algorithms.
ii. Types of algorithms, i.e., iterative and recursive algorithms.
111
b) Sorting and searching algorithms and their complexity:
i. Definitions.
ii. implementation.
iii. Complexity.
c) Elementary and advanced data structures:
i. Definition.
ii. Operations.
iii. Complexity of the operations.
d) Graph theory:
i. Definitions.
ii. Types of graphs.
e) Minimum path finding algorithms:
i. Dijkstra algorithm.
ii. Bi-directional search.
ii. Bellman-Ford algorithm.
f) Spanning trees:
i. Prim's Algorithm.
ii. Kruskal's Algorithm.
17. Method of Assessment
Examination : 50%
Coursework : 50%
18. Teaching and Learning Methods
a) Lectures.
b) Lab work.
19. Prescribed Reading Lists
Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C. (2022). Introduction
to algorithms. (4th ed.). MIT Press.
Hu, Y. (2021). Easy learning data structures and algorithms C++ (2nd ed.).
Amazon Digital Services LLC.
112
Wengrow, J. A. (2020). Common-Sense Guide to Data Structures and
Algorithms (2nd ed.).Pragmatic Bookshelf
20. Recommended Resources
Nathan. C. (2017), C++: A Detailed Approach to Practical Coding (Step-By-
Step C++ Book 2). Kindle Edition.
Russell, R. (2018). Data Structures and Algorithms: An Easy Introduction.
CreateSpace Independent Publishing Platform.
113