0% found this document useful (0 votes)
4 views9 pages

Data Structures Course Outline Updated

The document outlines the course structure for 'Data Structures (CC210)' at Abbottabad University of Science and Technology for Fall 2025, including prerequisites, credit hours, and course duration. It details the course objectives, topics covered over 16 weeks, and assessment methods. Additionally, it provides a list of recommended textbooks and resources for students.

Uploaded by

Yousra Awan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views9 pages

Data Structures Course Outline Updated

The document outlines the course structure for 'Data Structures (CC210)' at Abbottabad University of Science and Technology for Fall 2025, including prerequisites, credit hours, and course duration. It details the course objectives, topics covered over 16 weeks, and assessment methods. Additionally, it provides a list of recommended textbooks and resources for students.

Uploaded by

Yousra Awan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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

You might also like