The course will enable the students to
1. Develop the ability to choose between different available data structures.
2. Develop skills in students to implement algorithms on real world problems and evaluate their performance
Course | Learning outcome (at course level) |
Learning and teaching strategies |
Assessm ent Strategi es | |
Course Code |
Course Title | |||
25CBDA211 |
Data Structure s and Algorith ms using Python (Theory) | CO61. Critically analyse the role of algorithms and the choice of data structures and their impact on the performance of programs. CO62. Examine array data structure and its applications in real world problems. CO63. Implement link list data structures, its types and analyse their applications. CO64. Evaluate applications of stack and queue data structures. CO65. Recognize the use of non- linear data structures in real life applications. CO66. Contribute effectively in course-specific interaction | Approach in te aching: Interact ive Lectures, Discus sion, Reading assignments,De monstration.
Learning activities for the students: Se lf learning assignme nts, Effective question s, Seminar presentation. | Class test, Semester end examinati ons, Quiz, Practical Assignme nts, Presentati on. |
Algorithm definition and its characteristics, comparing algorithms, Abstract data types, Algorithm analysis and its types, Asymptotic Notation: Omega-n Notation, Theta-0Notation, Big O notation.Introduction to Data Structure: Data Organisation. Types of Data structures: linear and nonlinearObject oriented programming concepts
Arrays (one, two and multi-dimensional),.Array operations - slicing, dicing, searching, matrix operations, searching (linear search, binary search) and sorting arrays (Exchange Sorts (Bubble sort, Quick sort), Straight Selection sort, and Insertion sort.).
Introduction to linked list, linked list as a data structure, creation, insertion and deletion of nodes from a list, comparing linked lists with arrays. Doubly Linked lists, Circular linked lists .Application of linked lists.
Definition, Primitive operations, representing stack in Python, implementing the push and pop operation, infix, postfix and prefix expression (definition and examples), infix to postfix, evaluation of postfix expression, Applications. Recursion concepts and applications. Queues: Introduction, Definition of Queue and its sequential representation, python implementation of queues, insert and remove operation, Applications and Priority queues
Terminology & Representations, Graphs & Multi-graphs, Directed Graphs, Elementary Graph algorithms, Representation of Graphs ,Traversals: BFS, DFS. Trees-Binary tree, Terminology & Representation, Traversal of binary trees, Binary Search Trees (BST).
1. Tamassia, Roberto., Goodrich, Michael T.., Goldwasser, Michael H. Data Structures andAlgorithms in Python. United States: John Wiley & Sons, Incorporated, Latest ed.
2. Nagarajan, Abhishek S.., Vasudevan, Shriram K.., Nanmaran, Karthick. Data StructuresUsing Python. India: Oxford University Press, 2020.
3. Goodrich, Michael T., Roberto Tamassia, and Michael H. Goldwasser. Data Structures and Algorithms in Python: An Indian Adaptation. Wiley Publications, 2021
SUGGESTED READINGS:
1. Miller, Curtis. Hands-On Data Analysis with NumPy and Pandas: Implement Python Packages from Data Manipulation to Processing. United Kingdom: Packt Publishing, 2018.
2. Jean-Paul Tremblay, Paul G. Sorenson, “An Introduction To Data Structures With Application”, McGraw Hill Education,2017
e-RESOURCES:
1. Programming, Data Structures And Algorithms Using Python, Prof. MadhavanMukund,swayamcourse:https://onlinecourses.nptel.ac.in/noc23_cs95/preview
2. https://www.tutorialspoint.com/python_data_structure/index.htm [2]
3. https://www.geeksforgeeks.org/python-data-structures-and-algorithms/ [3]
4. https://jovian.ai/learn/data-structures-and-algorithms-in-python
JOURNALS:
1. Journal of Machine Learning Research (JMLR),ACM, https://dl.acm.org/journal/jmlr
2. International Journal of Machine Learning and Cybernetics, springer :https://www.springer.com/journal/13042 [4]
Links:
[1] https://csit.iisuniv.ac.in/courses/subjects/data-structures-and-algorithms-using-python
[2] http://www.tutorialspoint.com/python_data_structure/index.htm
[3] http://www.geeksforgeeks.org/python-data-structures-and-algorithms/
[4] http://www.springer.com/journal/13042
[5] https://csit.iisuniv.ac.in/academic-year/2025-26