DS-with-Python-Syllabus
DS-with-Python-Syllabus
1. Rationale
Data structures are the techniques organizing data and of designing the algorithms for real-life projects.
Knowledge of data structures is essential for software design and development. Learning data structures with
Python offer flexibility and ease of programming with many built in data structures and libraries.
2. Course Outcomes: At the end of the Course, the student will be able to:
CO-01 Explain data structures types, list their applications.
CO-02 Apply the right Algorithm design strategies to solve a given problem.
CO-03 Choose the right data structure to develop solution to a given computing problem.
CO-04 Analyse space and time complexities of the algorithm used and plot a graph.
3. Course Content
Tutorial
Lecture Practice
(Activity
Week CO PO (Knowledge Criteria) Criteria) (Performance Criteria)
1 4 hours/week(2 hours/batch
3 hours/week hour/week twice in a week)
Introduction to Data Structures, operations,
classification, Characteristics.
Primitive types primitive data structures, 1. Python program to
python examples. Non primitive types - Non Use and demonstrate
primitive data structures, python examples. basic data structures.
1,
1 01 Linear and nonlinear data structures with 2. Implement an ADT
2, 3
python examples. with all its
Introduction, Abstractions, Abstract Data operations.
Types, An Example of Abstract Data Type
(Student, Date, Employee), Defining the ADT,
Using the ADT, Implementing the ADT.
1. Implement an ADT
and Compute space
and time
1, Algorithm Analysis Space Complexity,
complexities.
01, 2, Time Complexity.
2. Implement above
2 02, 3, Run time analysis.
solution using array
04 4, Asymptomatic notations, Big-O Notation,
and Compute space
7 Omega Notation, Theta Notation.
and time complexities
and compare two
solutions.
1. Implement Binary
Search using
recursion Compute
space and time
complexities, plot
graph using
asymptomatic
Divide and conquer - Merge Sort, Quick Sort, notations and
Binary search. compare two.
1, Dynamic programming - Fibonacci sequence 2. Implement Merge
01, 2, Backtracking Concepts only and quick sorting
4 02, 3, (Implementation examples with recursion in algorithms compute
04 4, week 9). space and time
7 Greedy Concepts only. complexities, plot
graph using
asymptomatic
notations and
compare all
solutions.
3. Implement Fibonacci
sequence with
dynamic
programing.
Linear(arrays) vs nonlinear (pointer) 1. Implement Singly
01, 1, structures Run time and space linked list (Traversing
02, 2, requirements, when to use what? the Nodes, searching
5 03, 3, Introduction to linked list, Examples: Image for a Node,
04 4, viewer, music player list etc. (to be used to Prepending Nodes,
explain concept of list), applications. Removing Nodes)
1,
01, The Singly Linked List- Creating Nodes,
2,
02, Traversing the Nodes, searching for a Node, 1. Implement linked list
6 3,
03, Prepending Nodes, Removing Nodes. Iterators.
4,
04 Linked List Iterators.
Table 1: Suggestive activities for tutorials (the list is only shared as an example and not inclusive of all
possible activities for that course. Student and faculty are encouraged to choose activities that are relevant to
the topic and the availability of such resources at their institution)
Sl.
Activity
No
Design a Data structure for handling Student Records- Designing a Solution, Implementation
1
(Using Basic DS).