MOI UNIVERSITY
School of Sciences and Aerospace Studies
Department of Mathematics, Physics and Computer Science
Course Outline
Degree Programme: Bachelor of Science in Computer Science
Course Code: CSC221
Course Title: Data Structures
Units: 3
Total Lecture Hours: 40
Year of Study: 2nd
Semester: II
Academic Year: 2024/25
Session: Apr – Jun 2025
Course Lecturer: Austin Owino Wetoyi
Phone Number: 0733 323828
Email Address: moi@austinowino.com
Course Purpose
This course introduces learners to fundamental data structures as well as algorithms that operate on
them with the aim of showing that data structures are essential building blocks for designing efficient
algorithms.
Course Content
Data Structure: Definition. Linear Structures: Linked Lists; Singly Linked Lists, Doubly Linked Lists,
Circular Lists, Skip Lists, Self-Organizing Lists, Sparse Tables. Arrays: single dimensional,
multidimensional. Operations; Insertion, Deletion, Search. Binary Trees: Trees. Binary Trees. Tree
Traversal; Breadth-First Traversal, Depth-First Traversal; Insertion. Deletion; by Merging, by Copying.
Balancing a Tree; The DSW Algorithm, AVL Trees. Self-Adjusting Trees; Self-Restructuring Trees,
Splaying. Binary Search Trees; Constructing, Searching. Heaps; as Priority Queues, array heap. Treaps. k-
d Trees. Polish Notation and Expression Trees. Multiway Trees. Graphs.
Expected Learning Outcomes
At the end of the course, the student should be able to
Demonstrate that the efficiency of algorithms dependence on the
underlying data structure.
Implement at least one ADT using multiple distinct data structures
Class Schedules
Week Topics
1 Linear Structures (arrays)
2 Linear Structures (linked lists)
3 Linear Structures (records)
4 Binary Trees
5 Continuous Assessment Test II
6 Binary Search Trees
7 Binary Heaps
8 Abstract Data Types
9 Huffman codes
10 Continuous Assessment Test II
11 - 13 End of Semester Examination
Evaluation
CAT I 15%
CAT 2 15%
EXAM 70%
TOTAL 100%
References:
[1] Adam Drozdek – Data Structures and Algorithms in Java/C++
[2] Douglas Baldwin and Greg W. Scragg. Algorithms and Data Structures: The Science of
Computing
[3] Jim Keogh and Ken Davidson - Data Structures Demystified
[4] Larry Nyhoff - C++ An Introduction to Data Structures
[5] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. Introduction to
Algorithms
Lecturer: Austin Owino Wetoyi Class Rep:
Signature: Signature:
Date: Date:
HoD:
Signature:
Date: