1. Department of Computer Science
BS Computer Science Program
DATA STRUCTURES AND ALGORITHMS
Course Code: CSC221
Credit Hours: 3
Pre-requisite: Computer Programming
Course Objectives
This course will focus on various aspects of data organization and manipulation process. Data
structures for storing information in lists, stacks, queues, trees and graphs will be covered. Basic
algorithms for creating, manipulating and using these structures will also be discussed. Different types
of searching and sorting algorithms will also be introduced and their efficiency will also be compared
using big O notation.
Course Learning Outcomes
After successful completion of this course, the students should be able to: PLO BT Level
1. Explain and compare different data structures and their applications 1 C2
2. Model and Implement an abstract data type 2 C3
3. Solve real-world problems using appropriate data structures 3 & 4 C6
Course Contents
Abstract Data Types (ADTs) , Linear data structures (Stacks, Queues, Linked list), Non-linear data
structures (Trees, Graphs), Recursion and recursive algorithms, Sorting Algorithms (Bubble, Insertion,
Selection, Quick, Merge, Shell, Heap), Searching (Linear, Binary, Depth First, Breadth First, Shortest
Path, Minimum Spanning Trees), Hashing and Collision resolution techniques (Open Addressing,
Separate Chaining, Double Hashing), Data Compression (Huffman’s Code), Complexity Analysis of
Algorithms (Big-O notation).
2. Department of Computer Science
BS Computer Science Program
Resources
1. Data Structures and Algorithms Made Easy, Narasimha Karumanchi, 2017, CareerMonk
Publications.
2. Data Structures and Algorithm Analysis in C++, by Mark Allen Weiss, 7th Edition, Published
by Addison-Wesley, 2019.
3. C++ Plus Data Structures, 7th Edition, Nell Dale, Jones and Bartlett Learning, 2020.
4. Data Structures using C++, Varsha H. Patil, 6th Edition, Oxford University Press, 2018.
Mapping of CLOs to PLOs
PLOs/CLOs CLO1 CLO2 CLO3
PLO1 (Academic Education) ✔
PLO2 (Knowledge for Solving Computing Problems) ✔
PLO3 (Problem Analysis) ✔
PLO4 (Design/Development of Solutions) ✔
PLO5 (Modern Tool Usage)
PLO6 (Individual and Teamwork)
PLO7 (Communication)
PLO8 (Computing Professionalism and Society)
PLO9 (Ethics)
PLO10 (Life-long Learning)