MISRIMAL NAVAJEE MUNOTH JAIN ENGINEERING COLLEGE
THORAPAKKAM, CHENNAI – 97
LESSON PLAN
Subject: DATA STRUCTURES DESIGN Subject Code: AD3251
Academic Year: 2024-25 Semester: 1/2/3/4/5/6/7/8
Objective:
⮚ To understand the basics of abstract data types.
⮚ To understand the concepts of ADTs
⮚ To design linear data structures – lists, stacks, and queues
⮚ To understand sorting, searching and hashing algorithms
⮚ To apply Tree and Graph structures
Name of the Faculty: Mr D.VINOD, AP/AIDS
Faculty Code : MNM 509
Theory Class:
Period Unit Topics to be Covered Proposed Actual Date Remarks
Date
(Detail Enclosed)
Along with the above the following activities are also to be planned and included:
Activity Name No. of activities Per Details
Semester
● Tutorial
● Assignments 2
● Unit Test 2
● Model Exams 1
Co-curricular Activities:
Co-curricular activities No. of Programs Planned Subject Nature of the
Program Name Program
Guest Lectures -
Seminars
Industrial Visits
Others (Please specify the
subject nature of the
program)
Faculty in Charge HOD PRINCIPAL
Theory Class:
Period Unit Topics to be Covered Proposed Date Actual Date Remarks
ABSTRACT DATA TYPES
1. Abstract Data Types (ADTs) 21.02.25
2. ADTs and classes 24.02.25
introduction to OOP, classes 25.02.25
3.
in Python
4. Inheritance, namespaces 26.02.25
5. I shallow and deep copying 27.02.25
Introduction to analysis of 28.02.25
6.
algorithms
7. asymptotic notations 03.03.25
8. Recursion 04.03.25
analyzing recursive 05.03.25
9.
algorithms
LINEAR STRUCTURES
10. List ADT 06.03.25
11. array-based implementations 07.03.25
12. II linked list implementations 10.03.25
13. singly linked lists 11.03.25
14. circularly linked lists 12.03.25
15. doubly linked lists 13.03.25
16. applications of lists 14.03.25
17. Stack ADT 17.03.25
18. Queue ADT 18.03.25
19. double ended queues 19.03.25
III SORTING AND
SEARCHING
20. Bubble sort, selection sort 20.03.25
21. insertion sort, merge sort 21.03.25
22. Quick Sort 24.03.25
23. Linear Search 25.03.25
24. Binary Search 26.03.25
25. Hashing 27.03.25
26. Hash functions 28.03.25
27. collision handling 01.04.25
load factors, rehashing, and 02.04.25
28.
efficiency
IV TREE STRUCTURES
29. Tree ADT 03.04.25
30. Binary Tree ADT 04.04.25
31. tree traversals 07.04.25
32. binary search trees 08.04.25
33. AVL trees 09.04.25
34. Heaps 11.04.25
35. Multi way search trees 15.04.25
GRAPH STRUCTURES
36. ADT 16.04.25
37. Graph ADT 17.04.24
V Representations of graph 21.04.25
38.
39. graph traversals 22.04.25
40. DAG 23.04.25
41. Topological ordering 24.04.25
42. Shortest Path 25.04.25
43. minimum spanning trees 28.04.25
44. Red black tree 29.04.25
Faculty in Charge HOD PRINCIPAL
AD3251 DATA STRUCTURES DESIGN LTPC
3003
COURSEOBJECTIVES:
● To understand the concepts of ADTs
● To design linear data structures – lists, stacks, and queues
● To understand sorting, searching and hashing algorithms
● To apply Tree and Graph structures
UNITI ABSTRACT DATA TYPES 9
Abstract Data Types (ADTs) – ADTs and classes – introduction to OOP – classes in Python –
inheritance – namespaces – shallow and deep copying Introduction to analysis of algorithms –
asymptotic notations – recursion – analyzing recursive algorithms
UNITII LINEAR STRUCTURES 9
List ADT – array-based implementations – linked list implementations – singly linked lists –
circularly linked lists – doubly linked lists – applications of lists – Stack ADT – Queue ADT –
double ended queues
UNITIII SORTING AND SEARCHING 9
Bubble sort – selection sort – insertion sort – merge sort – quick sort – linear search – binary search
– hashing – hash functions – collision handling – load factors, rehashing, and efficiency
UNITIV TREE STRUCTURES 9
Tree ADT – Binary Tree ADT – tree traversals – binary search trees – AVL trees – heaps –
multiway search tree.
UNITV GRAPH STRUCTURES 9
Graph ADT – representations of graph – graph traversals – DAG – topological ordering – shortest
paths – minimum spanning trees
45 PERIODS
COURSE OUTCOMES:
At the end of this course, the students will be able to:
CO1: To explain abstract data types
CO2: To design, implement, and analyze linear data structures, such as lists, queues, and stacks, according
to the needs of different applications
CO3: To design, implement, and analyze efficient tree structures to meet requirements such as searching,
indexing and sorting
CO4: To model problems as graph problems and implement efficient graph algorithms to solve them.
CO5: To apply Tree and Graph structures
TEXT BOOKS:
1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, “Data Structures
and Algorithms in Python” (An Indian Adaptation), Wiley, 2021.
2. Lee, Kent D., Hubbard, Steve, “Data Structures and Algorithms with Python” Springer
Edition 2015. 3. Narasimha Karumanchi, “Data Structures and Algorithmic Thinking with
Python” Careermonk, 2015
REFERENCES:
1. Rance D. Necaise, “Data Structures and Algorithms Using Python”, John Wiley & Sons,
2011.
2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein,
“Introduction to Algorithms", Third Edition, PHI Learning, 2010.
3. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Fourth Edition,
Pearson Education, 2014
4. Aho, Hopcroft, and Ullman, “Data Structures and Algorithms”, Pearson Education India,
2002.
CO’s- PO’s & PSO’s MAPPING
PO’s PSO’s
CO’s 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
1 3 1 1 1 - - - - 1 1 1 2 2 1 2
2 2 3 1 3 1 - - - 3 2 2 3 3 3 1
3 2 2 3 3 2 - - - 3 1 1 2 1 1 1
4 2 2 1 2 1 - - - 1 3 2 1 1 1 2
5 2 3 3 2 1 - - - 3 1 2 1 3 1 2
AVG 2 2 2 2 1 - - - 2 2 2 2 2 1 2
1-low, 2-medium, 3-high,‘-'-nocorrelation