Aksum University
Faculty of Computing Technology
Department of Computer Science
Course Outline
Course Title: Data Structures and Algorithms
Course Code: CoSc 2092 ECTS: 5 Academic Year: 2025, Year: II,
Semester: II
Instructor Name: Tedros Kebede. Email: ted32t@gmail.com Block-60, Room-116
Course Objectives
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
To practice Recursion, Sorting, and searching on the different data structures
To implement the data structures with a chosen programming language
Course Contents
Chapter 1. Introduction to Data Structures and Algorithms (4hrs)
Introduction to Data Structures
Introduction to Algorithms
Chapter 2: Simple Sorting and Searching Algorithms (4hrs)
Sorting Algorithms (Insertion, Selection, Bubble, Pointer sorts)
Searching Algorithms (Linear Search, Binary Search)
Chapter 3: Linked Lists (4hrs)
Review on Pointer and Dynamic Memory allocation
Singly Linked List and Its Implementation
Doubly Linked List and Its Implementation
Circular Linked Lists and Its Implementation
Chapter 4: Stacks (4hrs)
Properties of Stack
Array Implementation of Stack
Linked List Implementation of Stack
Application of Stack
Chapter 5: Queue (4hr)
Properties of Queue
Array Implementation of Queue
Linked List Implementation of Queue
Double Ended Queue (Deque)
Priority Queue
Application of Queues
Chapter 6: Trees (4hr)
Binary Tree and Binary Search Trees
Basic Tree Operations
Traversing in a Binary tree
General Trees and Their Implementations
Chapter 7: Graphs (4hr)
Introduction
Directed vs Undirected graph
Traversing Graph
Chapter 8: Advanced Sorting and Searching algorithms (4hr)
Advanced Sorting ( Shell, Quick, Heap, Merge sorts)
Advanced Searching (Hashing)
Assignment criteria: Quizzes: 30%, Project: 20%, Final exam: 50%
Reference books:
Robert Lafore, “Data Structures and Algorithms in JAVA, 2nd Ed.”, Sams
Publishing
Jean Paul Tremblay, Paul G. Soreson, “An Introduction to Data Structures with
Applications”, Mc. Graw Hill Computer Science Series
E. Horowitz, S.Sahni and Dinesh Mehta. Fundamentals of data structures in
C++, W.H Freeman and Company (1995)
Sanjay Pahuja, A practical approach to data structures and algorithms, New
age Internationapublishers, 2008