0% found this document useful (0 votes)
5 views

CSDA-244 Data Structures (Theory+Lab) Spring 2025

The Data Structures course (CSDA-244) aims to enhance students' understanding of data structures and algorithms, covering topics such as arrays, linked lists, stacks, queues, trees, and graphs. The course includes theoretical learning outcomes and practical lab sessions to implement various data structures and algorithms. Recommended textbooks provide additional resources for deeper understanding and application of the concepts taught in the course.

Uploaded by

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

CSDA-244 Data Structures (Theory+Lab) Spring 2025

The Data Structures course (CSDA-244) aims to enhance students' understanding of data structures and algorithms, covering topics such as arrays, linked lists, stacks, queues, trees, and graphs. The course includes theoretical learning outcomes and practical lab sessions to implement various data structures and algorithms. Recommended textbooks provide additional resources for deeper understanding and application of the concepts taught in the course.

Uploaded by

maryamsajid2044
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Data Structures

Course Code: CSDA-244

Semester Credit Hours Prerequisite


[BSCS-3] [3+1] [CSOO-142]

Course Description
The purpose of this course is to build upon a strong understanding of “Data Structures and famous
dealing algorithms”. It covers data storage policies, representations, operations and algorithms
related to various data structures. It also provides practical approach to computer science students
for a better view of what is going on beyond the desktop.

Course Learning Outcomes (CLOs)


The course learning outcome along with domain and BT level are listed below

S. # CLO STATEMENT DOMAIN BT LEVEL PLO


CLO-1 Understand the properties of various data C C1
structures and their usage in real world Remembering 2
problems.
CLO-2 Demonstrate the working of algorithms C C2
related to various data structures. 2
Understanding
CLO-3 Apply appropriate data structure for modeling C C3
an optimized solution for a given problem. 3
Applying
CLO-4 Implement the abstract data types and P P3
(Lab) algorithms related to various data structures. Guided 3
Response
CLO-5 Demonstrate linear and non-linear data structures P4
and related algorithms P 4
(Lab) Mechanism
CLO-6 Express the experiments in the form of a LAB A3
report A 7
(Lab) Valuing
* BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A= Affective Domain

Course Materials
This course introduces the following topics to students:

 Abstract data types


 Arrays (properties, functions to manipulate array, searching and sorting algorithms)
 Singular Linked list (properties, functions and its significance)
 Doubly Link List (properties, related functions and its significance)
 Stack (properties, representation, related functions and its applications)
 Queue (properties, representation, related functions and its applications)
 Circular Queue (properties, representation, related functions and its applications)
 Priority Queue (properties, representation using linked list and array, related functions and
its applications)
 Implementation of Stack and Queue using Link list
 Graphs (properties, related functions and algorithms such as Depth first search, breadth
first search)
 Trees (types of trees, properties of various types of trees, related functions algorithms such
as traversing, finding spanning tree and finding minimum spanning tree)
 Heap (properties, related functions and its applications)
 AVL Trees ((properties, related functions and its applications)
 Hashing (properties, related functions and its applications)

Course Weekly Schedule


The course schedule for 19 weeks are detailed below

Week Topic
1 Brief introduction of different data structures with advantages and disadvantages
Array data structure, representation of array in memory
Searching algorithms such as Linear search and binary search on arrays data structure.
2 Sorting algorithm such as selection sort, bubble sort and insertion sort.
3 Introduction of Linked List, properties of linked list and comparison w.r.t array data
structure.
Traversing Function in linked list
Insertion Functions in linked list: AddToHead(element) and AddToTail(element).
4 Insertion Functions in linked list, i.e., AddAfter(element), addBefore(element) and
AddSorted(element).
Deletion Functions in Linked list: Remove(element) and RemoveAll(), Shifting
Function in Linked List: MovetoHead(element), and MoveToTail(element).
Application and Advantages/Disadvantages of linked list with respect to array
5 Introduction of Two way linked list, its properties and comparison w.r.t singular linked
list.
Insertion and deletion functions in two way linked list (all functions covered in singular
linked list needs to be covered with two way linked list also).
Week Topic
6 Applications and Advantages/Disadvantages of Two way linked
Introduction of Stack, its properties and basic functions of Stack such as, push
(element), pop(), isEmpty(), isFull(), and topValue().
Stack using array vs. stack using linked list
7 Brief overview of different applications of stack.
Stack applications in detail: String reversal, Symbol balancing and evaluation of postfix
expression
8 Stack applications in detail: conversion of mathematical expression using stack such as,
Infix-to-postfix, Postfix-to infix, Postfix-to-prefix, Infix-to-prefix, Prefix-to-infix, and
Prefix-to-postfix
9 Mid Exam Week
10 Mid Exam Week
11 Queue and its related functions such as Enqueue(element), Dequeue(), isEmpty(),
isFull(), and isInlist(element).
Queue using linked list along with related functions such as Enqueue(element),
Dequeue(), isEmpty(), isFull(), and isInlist(element).
12 Queue using Circular array, its benefits, and related functions such as
Enqueue(element), Dequeue(), isEmpty(), isFull(), and isInlist(element).
Application of Circular queue.
Priority Queue using Linked list and Multiple queues
13 Introduction to Graph Data Structure, its properties and Applications.
Representation of Graphs as adjacency list and adjacency matrix
Graph Algorithms: Depth-first search, breadth-first search, PRIMS and KRUSKAl
algorithms for finding Minimum Spanning Tree
14 Introduction to trees, binary trees, representation of binary trees using array and linked
list.
Pre-order, In-order and post-order traversing operations in binary trees
Introduction to Binary Search Tree (BST) along with Insertion operation in Binary
Search Tree.
15 Searching and deletion operation in Binary Search Tree.
Introduction to Heap, its representation and related operations such as Max heapify(),
Min heapify(), insert, delete, and heap sort.
Priority Queue using Heap
16 Introduction to AVL Trees, its properties, related operations for height balancing and
applications.
Week Topic
17 Introduction to Hashing, its properties, representation, related functions and
applications
Hash functions: Division Method, Multiplication Method, Mid-square Method and
Folding methods
Collision Resolution Techniques: Linear Probing, Quadratic Probing and Separate
Chaining
18 End Term Exam
19 End Term Exam

Recommended Textbooks
1. Weiss, M. A. (2014). Data structures and algorithm analysis in C++, 4th Edition. Pearson.
ISBN: 9780132847377.
2. Lafore, R. (2002). Object-oriented programming in C++, 4th Edition. Pearson Education.
ISBN-10: 0672323087.
3. Lipschutz, S., & Pai, G. A. (2008). Data Structures. Tata McGraw-Hill Publishing Company
Limited. ISBN: 0070380015.
4. R.S. Salaria (2013). Data Structures: Theory, Problems and Algorithms, 1st Edition. Khanna
Publishing House. ISBN: 9789381068403.
Lab Weekly Schedule
The lab schedule for 17 weeks are detailed below

Week Topic
1 Array: Implementation of functions to perform insertion, deletion and linearly search
in an array.
2 Array: Implementation of Array Data Structure: Functions to perform iterative binary
search, recursive binary search and sorting such as selection sort, bubble sort and
insertion sort.
Function to Manipulate 2D array.
3 Singular linked list: Implementation of traversing and insertion functions in a Singular
linked list.
Implementation of Singular linked list as template.
4 Singular linked list: Implementation of deletion functions in singular linked list
5 Two way linked list: Implementation of traversing, insertion and deletion functions in
a two way linked list with.
6 Stack: Implementation of Stack using Array and Linked List.
7 Stack: Implementation of function related to various application of Stack.
8 Open Ended Lab
9 Exam Week
10 Mid Break
11 Queue: Implementation of Queue using Array and Linked List
12 Circular Queue: Implementation of Circular Queue
13 Graph: Implementation of Graph Data Structures along with DFS and BFS functions.
14 Binary Search Tree: Implementation of Insertion and traversing function in BST.
15 Binary Search Tree: Implementation of search and delete function in BST
16 Open Ended Lab
17 Lab Examination

You might also like