281623lesson Plan - Data Structures and Algorithms-1718353178640
281623lesson Plan - Data Structures and Algorithms-1718353178640
CLO 1 Explain the basic knowledge of data structure used in Data Structures fundamentals
computer systems
Linear and Non-Linear Data
CLO 2 Define the Linear and Non-Linear Data Structures
Structures
Implement the sorting and searching techniques for Sorting and searching
CLO 3
appropriate real-world problems techniques
CLO 5 Apply the appropriate data structures, algorithms, and Real world application of DSA
realizations to solve simple to complex real-world issues.
Course Objectives
1. To impart the basic concepts of data structures and algorithms
2. To define stacks, queues, lists, trees and graphs.
3. To implement the concepts about searching and sorting techniques.
4. To identify the algorithms and a step by step approach to solving problems.
5. To use algorithms to solve real world problems.
Primary Skills
1. Implementation of Data Structures
2. Algorithm Design Analysis
3. Problem-solving Proficiency
4. Optimization Techniques Mastery
5. Algorithmic Paradigm Understanding
Behavior Outcomes
FUNCTION ATTRIBUTES
Class Delivery
10% Recap/Revision 70% Concept Delivery and Hands-on scenario 20% Evaluation
Course Outline
SESSION COURSE OUTLINE
Lecture 2
● What Should I Learn First
Data Structure vs
● Application of Data Structure
Algorithms
Lecture 3
Applications of Data ● Application of Data Structure
Structures
● Introduction to Algorithms
● Algorithm design techniques
Lecture 4 ● Recurrences
Basics of Algorithms ● Classification of Algorithms
● Analysis of Algorithms
● Formal and Informal Algorithm Analysis
● Introduction
● Need for Space Complexity.
Lecture 5
● Finding Space complexities
Space &
● Introduction
Time Complexity
● Need for Time Complexity
● How to find Time complexities?
Lecture 8
● Subjective Assessment
Assessment II
Lecture 9 ● Quiz
Assessment III ● AMA-Doubt Clearing Session
● Basics of Arrays
Lecture 10
● Types of Array
Arrays
● Can we dynamically allocate array?
Lecture 12
● Implementing String in Java
Implementation and
● String as a Dynamic Data Type
Properties of Strings
Lecture 13
● Subjective Assessment
Assessment I
Lecture 14
● Subjective Assessment
Assessment II
Lecture 15 ● Quiz
Assessment III ● AMA-Doubt Clearing Session
Lecture 18
● How to evaluate an expression?
Applications of Stacks
● How to convert infix, postfix, and prefix with one another?
and Queues
Lecture 20
● Types of Linked Lists
Types of Linked Lists
Lecture 21
Representation of ● Can we use Linked List to represent a Stack?
Stacks, Queues using ● What are Dynamically Linked Stacks?
Linked Lists
Lecture 22
Representation of ● Can we use Linked List to represent a Queue?
Stacks, Queues using ● What are Dynamically Linked Queues?
Linked Lists
Lecture 23
Applications of Linked ● How are linked lists different from Arrays and Dynamic Arrays?
Lists
Lecture 24
● Subjective Assessment
Assessment I
Lecture 25
● Subjective Assessment
Assessment II
Lecture 26 ● Quiz
Assessment III ● AMA-Doubt Clearing Session
Unit 4: Non-Linear Data Structures
Lecture 30
Operations in Binary ● How to perform insert and delete operations in BST
Search Tree (BST)
● Defining Graph
Lecture 31
● How to represent a graph?
Graphs
● What are Paths and Cycles?
Lecture 32
● Understanding Graph Traversal
Graph Traversal
Lecture 33
Minimum Spanning
● How to find Minimum Spanning Trees?
Trees and
● How to find the Shortest Path?
Single-Source Shortest
Paths
Lecture 34
● Subjective Assessment
Assessment I
Lecture 35
● Subjective Assessment
Assessment II
Lecture 36 ● Quiz
Assessment III ● AMA-Doubt Clearing Session
Unit 5: Searching and Sorting Techniques
● Quick sort
Lecture 41
● Merge sort
Sorting Techniques-III
● Heap Sort
Lecture 43
● Subjective Assessment
Assessment I
Lecture 44
● Subjective Assessment
Assessment II
Lecture 45 ● Quiz
Assessment III ● AMA-Doubt Clearing Session
**Relevant activities, case studies, and real-life examples will be delivered by the faculty in the sessions
where required.
References:
● Text Books:
○ "Data Structures and Algorithms in Java" by Michael T. Goodrich, Roberto Tamassia, and
Michael H. Goldwasser, 6th Edition, 2014.
○ "Java Software Structures: Designing and Using Data Structures" by John Lewis and
Joseph Chase, 4th Edition, 2014.
○ "Data Structures and Algorithm Analysis in Java" by Mark Allen Weiss, 3rd Edition, 2011.
● Reference Books:
○ "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L.
Rivest, and Clifford Stein, 3rd Edition,2009.
○ "Algorithms" by Robert Sedgewick and Kevin Wayne, 4th Edition, 2011.
○ "Java Performance: The Definitive Guide" by Scott Oaks,1st Edition, 2014.
Program Specific
Program Learning Outcomes
Outcomes
Course Learning
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PSO1 PSO2 PSO3
Outcomes (CLOs)
CO1 1 2 2 3 1
CO2 1 2 2 3 1
CO3 1 2 2 2 3 1
CO4 2 3 3 2 3 3 3 3
CO5 2 3 3 2 3 2 2 3 1