7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Programme Name/s : Artificial Intelligence/ Artificial Intelligence and Machine Learning/ Data Sciences
Programme Code : AI/ AN/ DS
Semester : Third
Course Title : DATA STRUCTURE USING PYTHON
Course Code : 313306
I. RATIONALE
Data structures are mathematical and logical model of storing and organizing data in a particular way in computer.
Python is powerful programming language, it is effective for introducing computing and problem solving to
beginners.Python has efficient high-level data structures and a simple but effective approach to object-oriented
programming . After completing this course, student will be able to implement different types of data structures to
solve real life problems.
II. INDUSTRY / EMPLOYER EXPECTED OUTCOME
The aim of this course is to help the student to attain the following Industry Identified Outcomes through various
teaching learning experiences:
• Implement Data Structures using Python to solve problems.
III. COURSE LEVEL LEARNING OUTCOMES (COS)
Students will be able to achieve & demonstrate the following COs on completion of course based learning
CO1 - Develop Python program using basic syntactical constructs.
CO2 - Perform operations on sequence structures in Python.
CO3 - Implement Modules, Packages in Python for given problem.
CO4 - Design classes for given problem.
CO5 - Implement Linear Data Structure in Python.
CO6 - Develop Python program to implement tree data structure.
IV. TEACHING-LEARNING & ASSESSMENT SCHEME
Learning Scheme Assessment Scheme
Actual
Based on LL &
Contact Based on
Theory TL
Course Course Hrs./Week SL
Course Title Abbr Credits Paper Total
Code Category/s SLH NLH Practical
Duration Marks
FA- SA-
CL TL LL Total FA-PR SA-PR SLA
TH TH
Max Max Max Min Max Min Max Min Max Min
DATA
STRUCTURE
313306 DSP DSC 3 - 4 1 8 4 3 30 70 100 40 25 10 25@ 10 25 10 175
USING
PYTHON
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 1/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Total IKS Hrs for Sem. : 0 Hrs
Abbreviations: CL- ClassRoom Learning , TL- Tutorial Learning, LL-Laboratory Learning, SLH-Self Learning
Hours, NLH-Notional Learning Hours, FA - Formative Assessment, SA -Summative assessment, IKS - Indian
Knowledge System, SLA - Self Learning Assessment
Legends: @ Internal Assessment, # External Assessment, *# On Line Examination , @$ Internal Online
Examination
Note :
1. FA-TH represents average of two class tests of 30 marks each conducted during the semester.
2. If candidate is not securing minimum passing marks in FA-PR of any course then the candidate shall be
declared as "Detained" in that semester.
3. If candidate is not securing minimum passing marks in SLA of any course then the candidate shall be
declared as fail and will have to repeat and resubmit SLA work.
4. Notional Learning hours for the semester are (CL+LL+TL+SL)hrs.* 15 Weeks
5. 1 credit is equivalent to 30 Notional hrs.
6. * Self learning hours shall not be reflected in the Time Table.
7. * Self learning includes micro project / assignment / other activities.
V. THEORY LEARNING OUTCOMES AND ALIGNED COURSE CONTENT
Suggested
Theory Learning Outcomes Learning content mapped with Theory Learning
Sr.No Learning
(TLO's)aligned to CO's. Outcomes (TLO's) and CO's.
Pedagogies.
Unit - I Introduction and Control Flow statements
in Python
TLO 1.1 Describe the given 1.1 Features of Python - interactive, object oriented,
variables, keywords and interpreted, platform independent.
constants in Python. 1.2 Python building blocks - identifiers, keywords,
TLO 1.2 Use indentation, indentation, variables, comments.
comments in the given 1.3 Python data types: numbers, string, tuples, lists, Presentations
1 program. dictionary. Chalk-Board
TLO 1.3 Use different types of 1.4 Basic operators: arithmetic, comparison/ relational, Hands-on
operators for writing arithmetic assignment, logical, bitwise, membership, identity
expressions. operators , Python operator precedence.
TLO 1.4 Write Python 1.5 Control flow: conditional statements (if, if else,
programs using control flow. nested if),looping in python (while loop, for loop,
nested loops) loop manipulation using continue, pass,
break, else.
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 2/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Suggested
Theory Learning Outcomes Learning content mapped with Theory Learning
Sr.No Learning
(TLO's)aligned to CO's. Outcomes (TLO's) and CO's.
Pedagogies.
Unit - II Python specific Data Structures and
functions
2.1 Lists: Defining lists, accessing values in list,
TLO 2.1 Develop Python deleting values in list, updating lists, basic list
program to manipulate lists for operations, built - in list functions.
the given problem. 2.2 Tuples: Accessing values in tuples, deleting values
TLO 2.2 Develop Python in tuples, and updating tuples, basic tuple operations,
program to manipulate tuples built - in tuple functions.
for the given problem. 2.3 Sets: Accessing values in set, deleting values in set
TLO 2.3 Write Python program and updating sets, basic set operations, built - in set Presentations
2 to manipulate sets for the given functions. Chalk-Board
problem. 2.4 Dictionaries: Accessing values in dictionary, Hands-on
TLO 2.4 Write Python program deleting values in dictionary and updating dictionary,
to manipulate dictionaries for basic dictionary operations, built- in dictionaries
the given problem. functions.
TLO 2.5 Develop relevant user 2.5 Use of Python built- in functions (e.g.type/ data
defined functions for the given conversion functions, math functions etc.)
problem. 2.6 User defined functions: Function definition,
function calling, function arguments and parameter
passing, return statement, scope of variables: global
variable and local variable.
Unit - III Python Modules and Packages
3.1 Modules: writing modules, importing modules,
TLO 3.1 Create Python module importing objects from modules, Python built- in
for the given problem. modules (e.g. numeric and mathematical module,
TLO 3.2 Develop Python functional programming module). Chalk-Board
3 package for the given problem. 3.2 Python packages: introduction, writing Python Presentations
TLO 3.3 Use NumPy for packages. Hands-on
performing mathematical 3.3 Using standard Numpy: methods in Numpy,
operations on arrays. creating arrays and initializing, reading arrays from
files,special initializing functions, slicing and indexing,
reshaping arrays, combining arrays, NumPy maths.
TLO 4.1 Apply the basic
Unit - IV Object Oriented Programming in Python
concepts of object oriented
4.1 Introduction to object oriented programming,
programming to define classes
creating classes and objects, constructor and destructor
and objects. Chalk-Board
in Python.
4 TLO 4.2 Implement the Presentations
4.2 Data abstraction and data encapsulation.
concept of polymorphism Hands-on
4.3 Concept of polymorphism- method overloading and
TLO 4.3 Create Python
overriding.
program using inheritance for
4.4 Inheritance and types of inheritance.
the given problem
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 3/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Suggested
Theory Learning Outcomes Learning content mapped with Theory Learning
Sr.No Learning
(TLO's)aligned to CO's. Outcomes (TLO's) and CO's.
Pedagogies.
Unit - V Linear Data Structure Arrays, Link List,
Stack and Queues using Python.
TLO 5.1 Describe linear data 5.1 Data Structures – definition, linear data structures,
structures in Python. non-linear data structures arrays - overview, types of
TLO 5.2 Develop Python code arrays, operations on arrays, arrays vs list.
using arrays for given problem. 5.2 Searching -linear search and binary search, sorting -
Presentations
TLO 5.3 Write Python code to bubble sort, insertion sort.
Chalk-Board
5 implement link list for given 5.3 Linked Lists – singly linked list, doubly linked list,
Flipped
problem. circular linked lists, implementation using Python
Classroom
TLO 5.4 Implement stack in packages for link list.
Python program. 5.4 Stacks : introduction to stacks, stack applications -
TLO 5.5 Implement queues in expression evaluation, backtracking, traversal - infix,
Python program. prefix and postfix concepts.
5.5 Queues: introduction to queues, queue applications
- breadth first search, depth first search.
TLO 6.1 Implement various
Unit - VI Non-Linear Data Structure.
types of trees using Python
6.1 Trees - tree Terminology, binary trees:
code. Presentations
6 implementation, tree traversals, binary search trees
TLO 6.2 Perform various Hands-on
6.2 Applications of trees - spanning tree, BST , tree
operations on trees using
traversal - inorder, preorder and postorder concepts.
Python code.
VI. LABORATORY LEARNING OUTCOME AND ALIGNED PRACTICAL / TUTORIAL EXPERIENCES.
Practical / Tutorial /
Sr Laboratory Experiment / Practical Titles / Tutorial Number Relevant
Laboratory Learning
No Titles of hrs. COs
Outcome (LLO)
LLO 1.1 Install Python
* a) Install and configure Python IDE .
integrated development 1 2 CO1
b) Write Python program to display message on screen
environment.
* Write simple Python program using operators:
a) Arithmetic operators
b) Logical operators
LLO 2.1 Implement basic c) Relational operators
2 d) Conditional operators 2 CO1
operators in Python.
e) Bitwise operators
f) Ternary operator
* Write simple Python program to demonstrate use of
conditional statements :
LLO 3.1 Implement control
i) if
flow operations for solving 3 4 CO1
ii) if…else
given task.
iii) Nested if
iv) Switch case
LLO 4.1 Implement while Develop a simple Python program to demonstrate use
control loop for solving 4 of control loop: while 2 CO1
iterative problems.
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 4/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Practical / Tutorial /
Sr Laboratory Experiment / Practical Titles / Tutorial Number Relevant
Laboratory Learning
No Titles of hrs. COs
Outcome (LLO)
LLO 5.1 Implement for loop * Create a simple program to demonstrate use of for
for solving iterative 5 loop in Python (e.g : various pattern building, printing 2 CO1
problems. multiplication table, checking palindrome number etc.)
* Write Python program to perform following
operations on lists :
LLO 6.1 Perform basic a) Create
6 2 CO2
operations on the lists. b) Access
c) Update
d) Delete elements in list
Develop Python program to perform following
operations on tuples:
LLO 7.1 Execute various a) Create
7 2 CO2
tuple operations. b) Access
c) Update
d) Delete tuple elements
* Write Python program to perform following
operations on set :
LLO 8.1 Implement various a) Create
8 2 CO2
set operations. b) Access
c) Update
d) Delete access set elements
* Create a program to perform following operations on
dictionaries in Python:
a) Create
LLO 9.1 Execute various
9 b) Access 2 CO2
operations on dictionaries.
c) Update
d) Delete
e) Looping through dictionary
LLO 10.1 Use built-in math
10 Apply math built - in function in Python. 2 CO2
functions in Python.
LLO 11.1 Create user-defined
* Develop user defined Python function for given
functions to solve the given 11 2 CO2
problem: write a function with minimum 2 arguments
task
LLO 12.1 Apply built-in Create a program to demonstrate use of built-in module
mathematical modules from 12 (e.g. numeric, mathematical functional and 2 CO3
python. programming module) in Python.
LLO 13.1 Write user-defined * Write program to ceate a user - defined module (e.g :
13 2 CO3
module in Python. building calculator) in Python.
* Develop Python program to demonstrate use of
LLO 14.1 Apply built-in
14 NumPy packages for creating , accessing and 2 CO4
packages from Python.
performing different array operations.
LLO 15.1 Create user-defined Write a program to create user defined packages in
15 2 CO4
packages in Python. Python.
Write program in Python to demonstrate following
LLO 16.1 Implement the
operations:
concept of polymorphism in 16 2 CO4
a) Method overloading
Python.
b) Method overriding
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 5/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Practical / Tutorial /
Sr Laboratory Experiment / Practical Titles / Tutorial Number Relevant
Laboratory Learning
No Titles of hrs. COs
Outcome (LLO)
* Develop program in Python to demonstrate following
operations:
LLO 17.1 Implement the a) Single inheritance
concept of inheritance in 17 b) Multilevel inheritance 4 CO4
Python. c) Multiple inheritance
d) Hybrid inheritance
e) Hierarchical inheritance
* Write a program in Python for handling array to
demonstrate following operations :
a) Array declaration
LLO 18.1 Execute the array b) Insertion
18 4 CO5
operations using Python. c) Deletion
d) Append
e) Index
f) Reverse
* Write a program in Python for linked list to
demonstrate following operations :
LLO 19.1 Implement the
a) Insertion
linked list operations using 19 4 CO5
b) Deletion
Python.
c) Updating
d) Merging to list
* Write a program in Python to demonstrate queue data
LLO 20.1 Implement the structure operations :
queue operations using 20 a) Enqueue 4 CO5
Python. b) Dequeue
c) Display
LLO 21.1 Implement * Use the searching techniques in data structures:
searching techniques in 21 a) Linear Search 2 CO5
Python. b) Binary Search
* Write a Python program to implement following
LLO 22.1 Implement sorting sorting techniques:
22 4 CO5
techniques in Python. a) Bubble Sort
b) Insertion Sort
LLO 23.1 Implement stack
23 * Write a program in Python to evaluate an expression. 2 CO6
data structure in Python.
LLO 24.1 Implement sorting Write a program to create binary tree from the given list
24 2 CO6
techniques in Python. using binary tree module in Python.
Note : Out of above suggestive LLOs -
'*' Marked Practicals (LLOs) Are mandatory.
Minimum 80% of above list of lab experiment are to be performed.
Judicial mix of LLOs are to be performed to achieve desired outcomes.
VII. SUGGESTED MICRO PROJECT / ASSIGNMENT/ ACTIVITIES FOR SPECIFIC LEARNING /
SKILLS DEVELOPMENT (SELF LEARNING)
Micro project
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 6/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
The micro project has to be industry based, internet based ,workshop based, laboratory based or field based as
suggested by teacher.
a) Develop an application to create tic-tac-toe game.
b) Create a code generator. This can that take text as input, replaces each letter with another letter, and outputs the
“encoded” message.
c) Build an interactive quiz. Build a personality or recommendation quiz that asks users some questions, stores their
answers, and then performs some kind of calculation to give the user a personalized result based on their answers.
d) Build an alarm clock using snooze function.
Other
Implement various applications of stacks.
Compute the arithmetic mean along the specified axis using NumPy.
Present a seminar on different IDE used in Python.
Note :
Above is just a suggestive list of microprojects and assignments; faculty must prepare their own bank of
microprojects, assignments, and activities in a similar way.
The faculty must allocate judicial mix of tasks, considering the weaknesses and / strengths of the student in
acquiring the desired skills.
If a microproject is assigned, it is expected to be completed as a group activity.
SLA marks shall be awarded as per the continuous assessment record.
If the course does not have associated SLA component, above suggestive listings is applicable to Tutorials
and maybe considered for FA-PR evaluations.
VIII. LABORATORY EQUIPMENT / INSTRUMENTS / TOOLS / SOFTWARE REQUIRED
Sr.No Equipment Name with Broad Specifications Relevant LLO Number
Hardware : Personal Computer , RAM minimum 2 GB onwards.
1 Operating System : Windows 10 onwards All
Software : Any relevant Python IDE like IDLE/PyCharm/Spyder/PyDev etc.
IX. SUGGESTED WEIGHTAGE TO LEARNING EFFORTS & ASSESSMENT PURPOSE (Specification
Table)
Aligned Learning R- U- A- Total
Sr.No Unit Unit Title
COs Hours Level Level Level Marks
Introduction and Control Flow statements in
1 I CO1 6 2 4 6 12
Python
Python specific Data Structures and
2 II CO2 7 2 4 6 12
functions
3 III Python Modules and Packages CO3 6 2 4 6 12
4 IV Object Oriented Programming in Python CO4 6 2 4 4 10
Linear Data Structure Arrays, Link List,
5 V CO5 12 2 4 8 14
Stack and Queues using Python.
6 VI Non-Linear Data Structure. CO6 8 2 4 4 10
Grand Total 45 12 24 34 70
X. ASSESSMENT METHODOLOGIES/TOOLS
Formative assessment (Assessment for Learning)
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 7/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Continuous Assessment based on Process and Product related Performance Indicators. Each Practical will be
assessed considering:
60% weightage is to Process.
40% weightage is to Product.
Summative Assessment (Assessment of Learning)
Laboratory Performance, Viva Voce
XI. SUGGESTED COS - POS MATRIX FORM
Programme
Specific
Programme Outcomes (POs)
Outcomes*
(PSOs)
Course PO-5
Outcomes PO-1 Basic Engineering
(COs) PO-3 PO-7
and PO-2 PO-4 Practices for
Design/ PO-6 Project Life PSO- PSO- PSO-
Discipline Problem Engineering Society,
Development Management Long 1 2 3
Specific Analysis Tools Sustainability
of Solutions Learning
Knowledge and
Environment
CO1 3 - - 1 - - -
CO2 2 2 2 1 - - 1
CO3 - 2 2 1 - - 1
CO4 2 2 2 1 1 2 1
CO5 2 2 2 1 1 2 1
CO6 2 2 2 1 - 2 1
Legends :- High:03, Medium:02,Low:01, No Mapping: -
*PSOs are to be formulated at institute level
XII. SUGGESTED LEARNING MATERIALS / BOOKS
Sr.No Author Title Publisher with ISBN Number
Rao, K. Nageswara Scitech Publications (India) Pvt. Ltd.
1 Python Programing
Shaikh Akbar ISBN: 9789385983450
Michael T. Goodrich, Data Structures and Algorithms in Wiley publication New Delhi 2016 ISBN:
2
Roberto Tamassia Python 978-81- 265-5423-2
4th Edition, Addison-Wesley Professional,
3 Beazley, David Python Essential Reference
ISBN: 9780672329784
Hands-On Data Structures and 3rd Edition, Packt publisher, ISBN :
4 Dr.Basant Agarwal
algorithms with Python 9781801073448
XIII . LEARNING WEBSITES & PORTALS
Sr.No Link / Portal Description
Online Learning Initiatives by IIT
1 https://onlinecourses.nptel.ac.in/noc22_cs26/preview
faculties.
https://www.geeksforgeeks.org/graph-data-structure-and-algor
2 Data structures in Python
ithms/
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 8/9
7/2/24, 5:06 PM 313306-DATA STRUCTURE USING PYTHON
DATA STRUCTURE USING PYTHON Course Code : 313306
Sr.No Link / Portal Description
https://www.freecodecamp.org/news/object-oriented-programmin Object Oriented Programming
3
g-in-python/ Concepts
Basics Object Oriented
4 https://realpython.com/python3-object-oriented-programming/
Programming Concepts.
Note :
Teachers are requested to check the creative common license status/financial implications of the suggested
online educational resources before use by the students
MSBTE Approval Dt. 02/07/2024 Semester - 3, K Scheme
https://services.msbte.ac.in/scheme_digi/pdfdownload/download/ 9/9