Data Structure With Python Course Code: 4331601: Page 1 of 9
Data Structure With Python Course Code: 4331601: Page 1 of 9
1. RATIONALE
2. COMPETENCY
The purpose of this course is to help the student to attain the following industry identified
competency through various teaching learning experiences:
● Implement various types of data structures algorithms using python.
Note
i. More Practical Exercises can be designed and offered by the respective course teacher to
develop the industry relevant skills/outcomes to match the COs. The above table is only a
suggestive list.
ii. The following are some sample ‘Process’ and ‘Product’ related skills(more may be
added/deleted depending on the course)that occur in the above listed Practical Exercises
of this course required which are embedded in the COs and ultimately the competency.
S. PrO. No.
Equipment Name with Broad Specifications
No.
S. PrO. No.
Equipment Name with Broad Specifications
No.
1 Computer system with operating system: Windows 7 or higher
Ver., macOS, and Linux, with 4GB or higher RAM, Python
versions: 2.7.X, 3.6.X or higher All
2 Python IDEs and Code Editors Open Source : IDLE, Jupyter
The ADOs are best developed through the laboratory/field based exercises. Moreover, the
level of achievement of the ADOs according to Krathwohl’s ‘Affective Domain Taxonomy’
should gradually increase as planned below:
i. ‘Valuing Level’ in 1st year
ii. ‘Organization Level’ in 2nd year.
iii. ‘Characterization Level’ in 3rd year.
8. UNDERPINNING THEORY
The major underpinning theory is given below based on the higher level UOs of Revised
Bloom’s taxonomy that are formulated for development of the COs and competency. If
required, more such UOs could be included by the course teacher to focus on attainment of
COs and competency.
Unit Unit Outcomes (UOs) Topics and Sub-topics
(4 to 6 UOs at different levels)
Unit – I 1a. Define linear and non-linear data 1.1 Data Structure Basic Concepts
structures. 1.2 Types of data structures
Basic 1b. Define time complexity and space 1.3 Analysis Terms (for the
Concepts of complexity. definitions purpose only) :
Data 1c. Explain python specific - list, tuple, Time Complexity
Structures set, Dictionary and tuple data Space Complexity
structures. Asymptotic Notations ,Big ‘O’,
1d. Describe the Operations on arrays. Notation , Best case Time
1e. Differentiate array and list. Complexity, Average case
Time Complexity, Worst case
Time Complexity
1.4 Python Specific Data
Structures-List, Tuple,
Set, Dictionary
1.5 Array in Python
import array
Unit– V 5a. Design and Implement search 5.1 Searching an element into
algorithms. List:
Searching and 5b. Arrange data in ascending and Linear Search, Binary Search
Sorting 5.2 Sorting Methods:
descending orders using
Bubble Sort, Selection Sort,
appropriate sorting algorithms. Quick Sort, Insertion Sort,
5c. Explain the working of the given Merge Sort
sorting method step-by-step with
an example and small data set.
Unit– VI 6a. Describe a binary tree. 6.1 Binary trees: Complete
6b. Draw binary search tree for the Binary Tree, Basic Terms:
Trees given data set. level number, degree,
in-degree and out-degree,
6c. Write algorithms to traverse the
leaf node
tree using the given method. 6.2 Binary Search Tree:
6d. List applications of trees. Insertion of a node in binary
tree, Deletion of a node in
binary tree, Searching a node
in binary tree
6.3 Tree Traversal :
Inorder, Preorder, Postorder
6.4 Applications of binary tree
are group-based (group of 3 to 5). However, in the fifth and sixth semesters, the number of
students in the group should not exceed three.
The micro-project could be industry application based, internet-based, workshop-based,
laboratory-based or field-based. Each micro-project should encompass two or more COs
which are in fact, an integration of PrOs, UOs and ADOs. Each student will have to maintain a
dated work diary consisting of individual contributions in the project work and give a
seminar presentation of it before submission. The duration of the micro project should be
about 14-16 (fourteen to sixteen) student engagement hours during the course. The
students ought to submit micro-project by the end of the semester to develop the industry-
oriented COs.
A suggestive list of micro-projects is given here. This has to match the competency and the
COs. Similar micro-projects could be added by the concerned course teacher:
a) Phone directory application using doubly-linked lists- This project can demonstrate
the working of contact book applications and also teach you about data structures
like arrays, linked lists, stacks, and queues. Typically, phone book management
encompasses searching, sorting, and deleting operations. A distinctive feature of the
search queries here is that the user sees suggestions from the contact list after
entering each character.
b) Hangman Game: The Hangman program randomly selects a secret word from a list of
secret words. A random word (Eg. a fruit name) is picked up from our collection and
the player gets limited chances to win the game. When a letter in that word is
guessed correctly, that letter position in the word is made visible. In this way, all
letters of the word are to be guessed before all the chances are over.
c) Stack and queue implementation using linked list: Develop a python program that
implements stack and queue operations using linked list representation.
● Hands-On Data Structures and Algorithms with Python: Write complex and powerful
code using the latest features of Python 3.7, 2nd Edition by Dr. Basant Agarwal,
Benjamin Baka
● Data Structures and Algorithms with Python by Kent D. Lee and Steve Hubbard
● Problem Solving with Algorithms and Data Structures Using Python by Bradley N
Miller and David L. Ranum
● https://nptel.ac.in/courses/106106145
Course Outcomes
CO a) Understand linear and
non-linear data 3 1 1 2 - 1 1
structures.
CO b) Implement Object
Oriented Programming 3 2 2 1
concepts in Python. 3 - 2
CO c) Implement basic data
structures such as
stacks, queues and 3 2 2 3 - 2 1
linked lists.
CO d) Apply Algorithms for
solving problems like
2 1
searching and sorting of 3 2 2 3 -
data.
CO e) Implement non linear
data structures like
trees. 3 2 2 3 - 2 1
Legend: ‘3’ for high, ‘2’ for medium, ‘1’ for low and ‘-’ for no correlation of each CO with PO.