Wachemo University
College of Engineering and Technology
School of Computing and Informatics
Department of Computer Science
Data structure and
Course Title: Prerequisite: Fundamentals of programming II
algorithms
Course Code: CoSc2083 Year/Semester: IV/I
Module Code: CoSc2083 Acc. Year: 2021/22 (2014 E.C)
Course ECTS: 6 Instructor: Sara M.(MSc.)
Target Group: Computer Science Contact: Sara.mesfin11619805@gmail.com
Course Description: This course focuses on the study of data structures, algorithms and
program efficiency. Topics include: analysis of time and space requirements of algorithms;
program efficiency improving techniques, abstract data types such as linked lists, stacks, queues,
trees (traversal, implementations); simple searching algorithms (linear search, binary search,
… ), simple sorting algorithms (bubble sort, insertion sort, selection sort, … ), advanced sorting
algorithms (merge sort, quick sort, heap sort … ) Course Goals or Learning Outcome: The
course aims: To introduce the most common data structures like stack, queue, linked list To give
alternate methods of data organization and representation To enable students use the concepts
related to Data Structures and Algorithms to solve real world problems To practice Recursion,
Sorting, and searching on the different data structures To implement the data structures with a
chosen programming language.
CHAPTER 1: introduction to data CHAPTER 3: Simple Sorting and Searching
Algorithms Recursive Functions
structures Sorting
introduction Abstract Data Type Selection Sort
Bubble Sort
and Abstraction Insertion Sort
Searching Linear/Sequential
Searching Binary Searching
CHAPTER 2: Algorithm and Algorithm Analysis CHAPTER 4: Linked Lists
Review on Pointer, Dynamic Memory allocation and
Properties of Algorithm
De-allocation Singly Linked Lists Doubly Linked
Analysis of Algorithm Lists Implementation of Linked Lists
CHAPTER 5: Stacks and Queues CHAPTER 6: Tree Structures
Binary Trees and Binary Search Trees
Basic Stack Operations
Basic Tree Operations
Basic Queue Operations Implementation Traversing in a Binary Tree
of Stacks and queues
General Trees and Their Implementations
CHAPTER 7: Graphs CHAPTER 8: Advanced Sorting and Searching
Sorting
introduction
Heap Sort
Describing graphs Quick Sort
Merge Sort
Directed Graphs
Shell Sort
Traversing a graph Advanced Searching
Hashing