1. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 1 of 5
COURSE INFORMATION SHEET
Session: Fall-2023
Course Title: Data Structures and Algorithms
Course Code: SE-203T
Credit Hours: 3
Semester: 3rd
Pre-Requisites: SE-102T: Programming Fundamentals
Instructor Name: Ms. Falak Saleem, Ms. Dure Shahwar Agha
Email and Contact Information: fsaleem@ssuet.edu.pk
WhatsApp Group DSA(Fall 2023)
Office Hours: 08:30 A.M. to 04:30 P.M
Mode of Teaching:
Synchronous/Asynchronous/ Hybrid/Blended
COURSE OBJECTIVE:
The objective of this course is to guide students in understanding the basic concepts of data organization
and manipulation techniques, and to show how they are useful in problem solving. The course will cover
basic programming concept and its illustration as Abstract Data Type. The course will explain in detail
different types of data structures covering its operations and storage mechanisms. Most of the concepts are
illustrated by several examples using both graphical illustration and algorithm. Quizzes, assignment and
class discussions are conducted to evaluate the student about the clearance of concepts taught in class.
COURSE OUTLINE:
Fundamental data structures, data types, abstract data types, user defined data types, algorithms and their
complexity, time-space trade off, arrays, records and pointers, matrices, linked lists, circular lists, two way
lists, sequential (array) and linked implementation of stacks and queues, polish notation, recursion, towers
of Hanoi, recursive implementation of stacks and queues, priority queues, tree, binary tree, binary search
tree, traversals threaded trees, heap, general trees, graphs, depth-first/breadth first traversal, adjacency
matrix, shortest distance algorithms, sorting, insertion sort, selection sort, merge sort, radix sort), hashing,
searching: (linear search, binary search, depth first /breadth first search),
2. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 2 of 5
COURSE LEARNING OUTCOMES (CLOs) and its mapping with Program Learning Outcomes
(PLOs):
No.
Course Learning Outcomes (CLOs)
PLOs Bloom’s
Taxonomy
1
Explain fundamental data structures as well as algorithms and
their complexities.
PLO_2
(Knowledge
for solving
computing
problem)
C2 (Understand)
2
Apply different operations on linear data structures
PLO_3
(Problem
Analysis)
C3 (Apply)
3
Construct non-linear data structures and perform its
operations.
PLO_4
(Design of
Solutions)
C3(Apply)
COMPLEX COMPUTING PROBLEM:
Complex Engineering Problem
Details
Included: No
Attributes could be: WP1, WP3, WK5, WK8
WP1: Depth of knowledge required
WP3: Depth of analysis required
WK5: Engineering Design
WK8: Research Literature
RELATIONSHIP BETWEEN ASSESSMENT TOOLS AND CLOS:
Assessment Tools CLO-1(32) CLO-2(31) CLO-3(37)
Quizzes 3(9.37%) 3(9.677%) 4(10.81
%)
Assignments 4(12.5%) 3(9.677%) 3(8.10%)
Midterm Exam 15(46.87%) 15(48.387%) --
Final Exam 10(31.25%) 10(32.258%) 30(81%)
3. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 3 of 5
GRADING POLICY:
Assessment Tools Percentage
Quizzes 10%
Assignments 10%
Midterm Exam 30%
Final Exam 50%
TOTAL 100%
Recommended Book:
Weiss, Mark. Data Structures and Algorithm Analysis in (C++, Java), 4th edition, USA, published by
Pearson 2014.
Dale, Nell. Data Structures (C++, Java), 3rd
edition, published by Jones and Bartlett.
Reference Books:
Hemant, Jain. Problem Solving in Data Structures and Algorithm. 2nd edition.
Drozdek, Adam. Data Structures and Algorithms in C++, 4th edition, USA, published by Cengage
Learning 2013.
International University: https://catalogue.surrey.ac.uk/2022-3/module/COM1029
National University: https://www.bahria.edu.pk/wp-content/uploads/2017/06/Data-Structures.pdf
COURSE BREAKDOWN WITH LAB SYNCHRONIZATION:
- Both sides same Colours: Lab is synchronized with the topic
- Red Color: Lab is not synchronized (conducted before theory)
- No Color: Lab is to introduce new hardware or software skill /
Open Ended Lab / Lab is relevant to a topic taught in
pre-requisite and required for upcoming labs
Week
No.
Topics Laboratory Synchronization
1 Data Structures and their Operations:
Introduction, Overview of Data Structures,
Data Structure’s operations, Types of Data
Structures, common features of using
algorithm.
To study the concepts of String Constant
Pool, String literals, String immutability
and Wrapper classes.
4. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 4 of 5
2 Algorithm Analysis:
Introduction, Pseudo coding, Control
Structures, Analysis of Algorithms,
Efficiency of Algorithms, Complexity of
Algorithms, Asymptotic Notation/ Big O
Notations.
Recursion
Introduction to recursion, examples of
recursion
To understand the complexities of the
recursive functions and a way to reduce
these complexities.
3 Arrays:
Introduction to Arrays, 1D and 2D Array,
Traversing, insertion, deletion.
2-D array representation in memory
a. Column major order
b. Row major order
To understand arrays and its memory
allocation and implement Array List and
Vector.
4 Sorting Algorithms:
a. Bubble Sort,
b. Selection Sort
c. Quick Sort
d. Merge Sort
To sort a linear array using Selection Sort,
Bubble Sort and Merge Sort.
5 Linear and Binary Search with examples
Linked Lists:
Introduction and Types of Linked List,
Insertion and Deletion in singly LL.
To find an element in linear array using
Linear Search and Binary Search.
6 Doubly and Circular Linked Lists:
Doubly Linked List
Circular Linked List.
Implementing singly linked list, associated
operations and Runner technique.
7 Stacks:
Introduction to Stack data structure, Array
& Linked List representation of Stacks.
Polish Notation Prefix, Infix, Postfix,
Expression trees.
Conversion &Evaluation of postfix
expression
Open Ended.
8 Queues:
Introduction to Queue data structure,
Array & Linked List implementation of
Queues.
Implementing doubly linked list,
associated operations and LRU technique.
9 Midterm
5. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 5 of 5
10 Trees:
Basic Terminologies, Binary Trees,
Array/Linked List representation of
binary trees in memory, Traversing
Binary Trees, Pre, In, and Post-order
traversal’.
To implement Stack as Arrays and linked
list.
Implement Stack by using Stack class.
11 Trees:
Binary Search Trees
a. searching
b. Inserting
c. Deleting
Efficiency of Binary Search Trees
FIFO Queue implementation using Stack
and Linkedlist.
12 Minimum Spanning Trees:
Shortest path algorithms
(Prim’s Algorithm, Dijkstra’s Algorithm)
Algorithm to implement trees. Searching,
inserting, deleting, etc.
13 Graphs:
Basic Terminologies, Graph Theory,
Directed, Undirected Graphs, Sequential
representation of graphs, Adjacency
Matrix. Link List representation of graphs,
Operations on Graphs, Graph Traversals
(Depth-First Traversal, Breadth First
Traversal.
Implementing graph using BFS and DFS
14 Hashing
Hashing technique and hash table,
Types of hashing: division, mid square,
folding.
Types of Collision Resolution, linear
and quadratic probing, midsquare
method, folding method
Implementing Hashing techniques with
collision resolution.
15 Heap:
Binary Heaps, Heap creation and operations,
Insertion and deletion in heap.
Min and Max Heap, Heap sort.
Open Ended Lab
16 Data Compression:
Huffman’s Algorithm.
Introduction to Knapsack Problem:
Branch and Bound, Greedy Algorithm.
Lab Exam/Project Demonstration
6. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 6 of 5
LESSON PLAN
Course Title: Data Structures and Algorithm
Course Code: SWE- 203T
Week
No. Week Dates Topics
Required
Reading Key Date
1
09-10-2023
to
13-10-2023
Data Structures and their Operations:
Introduction, Overview of Data
Structures, Data Structure’s operations,
Types of Data Structures, common
features of using algorithm.
Reading / slides
material is
provided
2
16-10-2023
to
20-10-2023
Algorithm Analysis:
Introduction, Pseudo coding, Control
Structures, Analysis of Algorithms,
Efficiency of Algorithms, Complexity of
Algorithms, Asymptotic Notation/ Big O
Notations.
Recursion
Introduction to recursion, examples of
recursion
Weiss- Chap 2
Pg. 029 – 045
Weiss- Chap 1
Pg. 008 – 012
3
23-10-2023
to
27-10-2023
Arrays:
Introduction to Arrays, 1D and 2D Array,
Traversing, insertion, deletion.
2-D array representation in memory
a. Column major order
b. Row major order
Dell – Chap 3Pg.
182-186
Dell – Chap 1Pg.
038 - 040
Assignment#
1
4
30-10-2023
to
03-11-2023
Sorting Algorithms:
a. Bubble Sort,
b. Selection Sort
c. Quick Sort
d. Merge Sort.
Reading /
slides materialis
provided
Dell – Chap 11
Pg. 625-642
Quiz#1
7. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 7 of 5
5
06-11-2023
to
10-11-2023
Linear and Binary Search with examples
Linked Lists:
Introduction and Types of Linked List,
Insertion and Deletion in singly LL.
Dell – Chap03
Pg. 170 – 175
Reading Slides
will be
Provided
6
13-11-2023
to
17-11-2023
Doubly and Circular Linked Lists:
Doubly Linked List
Circular Linked List.
Dell – Chap06
Pg. 346-355
Dell – Chap06
Pg. 381-386
7
20-11-2023
to
24-11-2023
Stacks:
Introduction to Stack data structure, Array
& Linked List representation of Stacks.
Polish Notation Prefix, Infix, Postfix,
Expression trees.
Conversion &Evaluation of postfix
expression.
Dell – Chap02
Pg. 078 – 081
Pg. 101 – 104
Dell – Chap02
Pg. 133 - 136
Assignment#
2
8
27-11-2023
to
01-12-2023
Queues:
Introduction to Queue data structure,
Array & Linked List implementation of
Queues.
Dell – Chap02
Pg. 137 – 139
Dell – Chap04
Pg. 219 – 222
Quiz#2
9 Midterm Examination
(04-12-2023 to 09-12-2023)
10
11-12-2023
to
15-12-2023
Trees:
Basic Terminologies, Binary Trees,
Array/Linked List representation ofbinary
trees in memory, Traversing Binary
Trees, Pre, In, and Post-order traversal’.
Dell – Chap04
Pg. 251 – 433
Weiss – Chap4
Pg. 102 - 109
11
18-12-2023
to
22-12-2023
Trees:
Binary Search Trees
a. searching
b. Inserting
c. Deleting
Efficiency of Binary Search Trees
Weiss – Chap4
Pg. 109 - 112
Weiss-Chap10
Pg. 433 – 439
Dell – Chap 4Pg.
423 - 433
8. (SSUET/QR/111)
SIR SYED UNIVERSITY OF ENGINEERING & TECHNOLOGY
SOFTWARE ENGINEERING DEPARTMENT
Page 8 of 5
12 25-12-2023
to
29-12-2023
Minimum Spanning Trees:
Shortest path algorithms
(Prim’s Algorithm, Dijkstra’s Algorithm)
Dell – Chap 4Pg.
455 – 460
Dell– Chap 10
Pg. 584 - 590
Assignment
#3
13
01-01-2024
to
05-01-2024
Graphs:
Basic Terminologies, Graph Theory,
Directed, Undirected Graphs, Sequential
representation of graphs, Adjacency
Matrix. Link List representation of graphs,
Operations on Graphs, Graph Traversals
(Depth-First Traversal, Breadth First
Traversal.
Dell– Chap 10
Pg. 598 - 604
14
08-01-2024
to
12-01-2024
Hashing
Hashing technique and hash table,
Types of hashing: division, mid square,
folding.
Types of Collision Resolution, linear
and quadratic probing, midsquare
method, folding method
Weiss – Chap5
Pg. 171 - 181
Quiz#3
15
15-01-2024
to
19-01-2024
Heap:
Binary Heaps, Heap creation and
operations, Insertion and deletion in heap.
Min and Max Heap, Heap sort,
Weiss –Chap5Pg.
181-185
Weiss- Chap 6
Pg. 226 -232
16
22-01-2024
to
26-01-2024
Data Compression:
Huffman’s Algorithm.
Introduction to Knapsack Problem:
Branch and Bound, Greedy Algorithm.
Weiss- Chap 6
Pg. 232-234
Final Examination
(30-01-2024 to 10-02-2024)
Name& Signature: Falak Saleem Date: 20 - 09 - 2023
(Course Instructor)
Name: & Signature: Dr. Muhammad Naseem Date: 20 - 09 - 2023
(Head of Department)