Abbottabad University of Science and Technology
DEPARTEMENT OF COMPUTER SCIENCE
Course Outline
Session : Fall 2025
Effective from: 6th October, 2025
Course Title/Course Code Data Structures (CC210)
Credit Hours 4 (3+1)
Pre-requisite(s) Object Oriented Programming (CC120)
Course Type Core
Course Duration 16 Weeks
Weekly tuition pattern 2 Lectures (90 Minutes each)
Course Structure Presentation, quizzes, assignments
Instructor Name Mr.
Designed By:
Mr.
Lecturer
CS Department
Abbottabad University of Science & Technology
Page 1 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
1. Course Introduction:
CLO Implement various data structures and their algorithms C3
1 and apply them in implementing simple applications
CLO Analyze simple algorithms and determine their C4
2 complexities.
CLO Apply the knowledge of data structure to other application C3
3 domains.
Data Structures Lab
CLO Implement various data structures and algorithms. P2
1
CLO Design solutions using various data structures and P3
2 algorithms to solve problems.
2. Course Outlines
Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and array
implementations), Recursion and analyzing recursive algorithms, divide and conquer
algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix,
bucket), queue, dequeuer, priority queues (linked and array implementations of queues),
linked list & its various types, sorted linked list, searching an unsorted array, binary search
for sorted array, hashing and indexing, open addressing and chaining, trees and their
traversals, search trees, heaps, M-way trees, balanced trees, graphs, breadth-first and depth-
first traversals, topological order, shortest path, adjacency matrix and adjacency list
implementation, memory management and garbage collection.
3. Text and Other Resources
Textbook:
Reference Materials: (or use any other standard and latest books)
1. Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M.
Henry
2. Data Structures and Algorithm Analysis in Java by Mark A. Weissn
3. Data Structures and Algorithms in C++ by Adam Drozdek
4. Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss
5. Java Software Structures: Designing and Using Data Structures by John Lewis and
Joseph Chase
4. Week wise Plan:
The instructors are supposed to complete the following topics/sub-topics before the
mid/final term examination as prescribed in the course outline below:
Week Lecture Content Date
1 1 Topic: Introduction to Abstract Data Types (ADTs)
Their importance in structured programming
Page 2 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
What are Abstract Data Types (ADTs)
How ADTs are different
Difference between ADTs and Data Structures
Why ADTs are important
Common ADTs (List ADTs, Stack ADTs, Queue ADTs,
Priority Queue ADTs, Set ADTs, Map/Dictionary ADTs,
Graph ADTs, Tree ADTs)
Topic: Understanding time and space complexity
Analyzing algorithms using Big-O notation
Using Examples
What is an Algorithm?
Why is Analysis of Algorithms important?
What is Order of Growth?
2 What is Asymptotic Analysis?
Worst, Average & Best Cases?
Big-O, Ω, θ notation (definition, example, importance,
how to determine, properties, common Big-O notations)
What is the Complexity of the Algorithm?
What is Time and Space Complexity?
Understanding Time Complexity with Examples
Topic: Overview of arrays & linked lists as basic linear data
structures.
What is an Array?
Arrays characteristics, purpose, advantages, disadvantages,
real life examples, and its types
Arrays basic terminologies, it’s memory representation
Array declaration & initialization
Traverse operation of an array with algorithm/pseudo code
3
and example
What is a Linked List?
Linked List characteristics, purpose, advantages,
disadvantages, real life examples, and its types
Linked List basic terminologies, it’s memory
representation
Traverse operation of a linked list with algorithm/pseudo
2
code and example
Topic: Stack implementation using arrays and linked lists,
with examples.
What is a Stack?
Stack purpose, advantages, disadvantages, real-life
examples, and its types
Stack basic terminologies and their memory representation
Basic operations of a stack
4
Push operation of a stack via array algorithm/pseudo code
and example
Pop operation of a stack via array algorithm/pseudo code
and example
Top, isEmpty, isFull operations of a stack with
algorithms/pseudo code and example
Traverse operation of a stack
Page 3 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Topic: Introduction to recursion with use cases and visual
walkthroughs.
What is a Recursion?
Need of recursion
Advantages & Disadvantages
5 Applications of recursion
When to use recursion
Properties of recursion
Steps to implement recursion
3
Types of recursion
Difference between direct & indirect recursion
Topic: Analyzing recursive algorithms for efficiency and
correctness.
What is a Recursive Algorithm?
6 Characteristics of Recursive Algorithms
Advantages & Disdavantages of Recursive Algorithm
Applications of Recursive Algorithms
Algorithms/pseudo codes with examples
Topic: Divide and conquer strategy with classical examples
like merge sort.
What is Sorting?
Need, Basics, Types of Sorting Algorithms
7
What is a Merge Sort?
Working of Merge Sort with example
Advantages & Disadvantages of merge sort
Algorithm/pseudo code and complexity
Topic: Implementation and working of selection and insertion
4
sort algorithms.
What is a Selection Sort?
Advantages & Disadvantages of Selection Sort
Algorithm/pseudo code of selection sort with example and
8
time & space complexity of it.
What is an Insertion Sort?
Advantages & Disadvantages of insertion sort
Algorithm/pseudo code of insertion sort
When are both Used
5 Topic: Concepts, implementation, and efficiency of merge and
quick sort algorithms.
Algorithm/pseudo code of merge sort
9 What is a Quick Sort?
Advantages & Disadvantages of Quick Sort
Choice of Pivot
Working, Algorithm/pseudo code of quick sort
10 Topic: Bubble sort and heap sort with comparisons and
practical scenarios.
What is the Bubble Sort?
Advantages & Disadvantages of Bubble Sort
Algorithm/pseudo code of bubble sort with example and
time & space complexity of it.
What is the Heap Sort?
Page 4 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Advantages & Disadvantages of Heap Sort
Example algorithm/pseudo code of heap sort
Topic: Shell sort and radix sort—non-comparison-based
sorting techniques.
What is the Shell Sort?
Advantages & Disadvantages of Shell Sort
Algorithm/pseudo code of shell sort with example and
11
time & space complexity of it.
What are non-comparison based sorting techniques?
What is the Radix Sort?
6
Advantages & Disadvantages of Radix Sort
Algorithm/pseudo code of radix sort
Topic: Bucket sort algorithm and its application on integer
datasets.
What is the Bucket Sort?
12
Advantages & Disadvantages of Bucket Sort
Applications of Bucket Sort
Algorithm/pseudo code of bucket
Topic: Introduction to queues and deques using both arrays
and linked lists.
What is a Queue?
Queue purpose, advantages, disadvantages, real-life
examples, and its types
Queue basic terminologies and their memory
representation
13
Basic operations of a queue
Enqueue operation of a queue via array & linked list with
algorithm/pseudo code and example
7
Dequeue operation of a queue via array & linked list with
algorithm/pseudo code and example
What is Deque?
Operations of deque
Topic: Understanding and implementing priority queues with
examples.
What is a Priority Queue?
14
Types of Priority Queue
Difference between Queue & Priority Queue
Algorithm/pseudo code with example
8 Topic: Types of linked lists: singly, doubly, and circular lists
with their operations.
What is a Doubly & Circular Linked List?
15
Doubly & Circular Linked List basic terminologies, it’s
memory representation
Traverse operation of a doubly linked with example
16 Topic: Sorted linked list operations and real-world use cases.
What are the sorted linked lists
Difference between normal and sorted linked lists
Advantages & Disadvantages of sorted linked lists
Applications of sorted linked lists
Basic Operations of the sorted linked list
Page 5 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Traverse operation with algorithm/pseudo code and
example
Topic: Searching techniques for unsorted arrays using linear
search.
What is a Searching Algorithm?
17
Types of searching algorithm (Linear & Binary)
Linear Search (Efficiency, Properties, Applications)
Algorithm/pseudo code with example
9
Topic: Binary search for sorted arrays with complexity
comparison.
What is a Binary Search?
18
Linear Vs Binary Search
Binary Search (Efficiency, Properties, Application)
Algorithm/pseudo code with example
Topic: Introduction to hashing and indexing methods.
What is Hashing?
Components of Hashing
Working of Hashing
19
What is a hash function?
What is a collision in handling?
What is load factor in hashing?
Algorithm/pseudo code with example
10 Topic: Collision resolution strategies: open addressing and
chaining.
What are Collision Resolution Strategies?
Types of Collision Resolution Strategies (Separate
20 chaining & Open addressing chaining)
Hashing with chain implementation with simple chaining
& chaining with rehashing
Linear probing in hash tables
Algorithms/pseudo codes with example
Topic: Introduction to trees, their terminology, and common
types.
What is Tree?
21 Properties, advantages & disadvantages of tree
Basic terminologies and representation of Tree
Operations of tree
11 Types of Tree (Binary, Ternary & N-ary)
Topic: Tree traversal algorithms: preorder, inorder, and
postorder.
Tree traversal techniques
22
Types of tree traversal techniques
Types of DFTs
Algorithms/pseudo codes with example
12 23 Topic: Binary search trees (BSTs), insertion, deletion, and
searching.
What is Binary Tree?
Types of binary tree
What is BST?
Characteristics of BST
Page 6 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Traversing of BST
Searching operation of a tree with algorithm/pseudo code
and example
Topic: Heap structures and their use in efficient priority
queue implementations.
What is Heap & Binary heap?
24 Representation of binary heap
Operations of heap
Implementation via priority queue
Time & space complexity
Topic: Introduction to M-way trees and their applications.
What are the M-way Trees?
Properties of M-way trees
25 Purpose of M-way Trees
Applications of M-way trees
Basic Operations of M-way trees (insertion, deletion,
traversal algorithm/pseudo codes with examples)
13
Topic: Balanced tree structures including AVL trees.
What is AVL Tree?
Insertion operation of a AVL tree with algorithm/pseudo
26 code and example
Deletion operation of a AVL tree with algorithm/pseudo
code and example
Time & Space Complexity of this
Topic: Representing graphs using adjacency lists and
matrices.
What is a Graph?
Characteristics of Graph
27
Representation of Graph
Types of representation of graph
14 Basic operations of graph (insertion, deletion, traversal
algorithm/pseudo codes with examples)
Topic: Graph traversal algorithms, including breadth-first
and depth-first search.
28 What is Graph?
BFS & DFS traversal with algorithm/pseudo code and
example
Topic: Understanding topological sort and its use in
dependency resolution.
29 What is Topological Sort?
Applications of Topological Sort
15 Algorithm/pseudocodes with examples
Topic: Dijkstra's algorithm for the shortest path in graphs.
What is the Dijkstra Algorithm?
30
Working of Dijkstra Algorithm
Algorithms/pseudo codes with examples
16 31 Topic: Memory management techniques in data structures.
What are the Memory Management Techniques?
Memory Management Techniques role in data structures
Types of Memory Management Techniques
Page 7 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Topic: Garbage collection strategies for reclaiming memory in
programs.
What is garbage collection?
32
Why it is needed?
Garbage Collection Strategies (Advantages.
Disadvantages, Algorithms/pseudo codes)
5. Grading Distribution and Policy
Criteria Weightage Policy
Assignment 5% 1 assignment, to be submitted by individual
students with standard title page duly filled in
by the students.
Presentation 5% 1 Presentation to be presented by individual
students with standard title page duly filled in
by the students.
Quizzes 10% 2 Quizzes (no retakes)
Lab Lab tasks 10% Total of 8 Lab Tasks to be submitted by
individual student with standard title
page duly filled in by the students.
Lab 10% 1 Lab Project to be submitted/presented
Project/Lab by individual students with standard
Final title page duly filled in by the students.
Mid Term 30% Comprises of course contents covered in class
Final Term Examination 30% Comprises of course contents covered in class
Theory CLO Assessment Mechanism
Assessment tools CLO 1 CLO 2 CLO 3
Quizzes QUIZ 1 QUIZ 1 QUIZ 2
Assignments SEMESTER ASSIGNMENT
Midterm Exam Midterm Exam Midterm
-
Exam
Finalterm Exam Finalterm Exam
Lab CLO Assessment Mechanism
Assessment tools CLO 1 CLO 2
Lab Tasks Lab Task 1-8 ------
Project Semester Project and Lab Final
Approval
Page 8 of 9
Abbottabad University of Science & Technology
CC210 Data Structures
Verified by Approved by,
HoD
Page 9 of 9
Abbottabad University of Science & Technology
CC210 Data Structures