Data Structures & Algorithms in Python

Data structures and algorithms in Python — class-based ADTs, analysis, and practice with stdlib alternatives.

Duration
14 weeks
Certificates
2
CO threshold
70%
Price
₹5,000 (one-time access)

Tagline: Data structures and algorithms in Python — class-based ADTs, analysis, and practice with stdlib alternatives.

Field Value
Course code PY-DS-A
Duration 14 weeks
Credits 4
Compliance NBA-aligned OBE
Prerequisite PY-FUND-A or equivalent Python
Publication published
Price INR 5000
DB snapshot 2026-10-08T15:04:29.983Z

Course objective

Inhabit, implement, analyze, and practice fundamental data structures and algorithms in Python with class-based ADTs, then choose stdlib alternatives wisely — after completing Python OOP Professional.

Course outcomes (CO1–CO6)

CO Bloom Weight Statement
CO1 analyze 17% Analyze algorithm cost (Big-O) and design recursive solutions with clear base/recursive cases.
CO2 apply 17% Implement array- and link-based sequence ADTs (list model, stack, queue, deque, linked lists) and compare to stdlib.
CO3 apply 16% Build tree and priority-queue/heap structures with traversals and heap operations.
CO4 apply 17% Implement maps/hash tables and binary search trees; explain collision and balance trade-offs.
CO5 analyze 16% Apply sorting/selection algorithms and light text algorithms; relate to list.sort / bisect.
CO6 evaluate 17% Represent graphs, run DFS/BFS and lite shortest-path/MST ideas, and complete integrative capstones.

Activity totals (live from platform)

Metric Count
Units / chapters 16
Topics 167
Topic quiz activities 1018
MCQ questions 1018
Practice labs 105
Evaluated coding labs 154
Instructional content blocks 983

Certificates & earning criteria

Certificate CO scope Evaluated lab quota CO attainment Gate
Python DS Foundations CO1–CO3 ≥ 90% ≥ 70% Python DS Foundations summative quiz
Python DS Professional CO1–CO6 ≥ 95% ≥ 70% Python DS Professional end-of-course capstone

Unit syllabus (unit → topics → activities)

Unit 1 — Algorithm analysis

Unit totals: 6 topics · 42 MCQ questions · 0 practice · 3 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Timing experiments & limits 8 0 0 —
2 Growth functions intuition 6 0 0 —
3 Big-O notation 6 0 1 —
4 Analyzing loops & simple algorithms 6 0 1 —
5 Justification lite 6 0 1 —
6 Interview prep: algorithm analysis 10 0 0 —

Unit 2 — Recursion

Unit totals: 11 topics · 70 MCQ questions · 7 practice · 10 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why recursion exists 6 0 0 —
2 Inhabit: base vs recursive case 6 1 0 —
3 Inhabit: the call stack as a desk 6 1 0 —
4 Paper: recursion tree on a named n 6 0 0 —
5 Contrast: wrong base / infinite recursion 6 1 0 —
6 Factorial & linear recursion 6 1 1 —
7 Binary search recursively 6 1 1 —
8 Recursion cost & pitfalls 6 0 1 —
9 Multiple recursion & design recipe 6 0 1 —
10 Practice playground 6 2 6 —
11 Interview prep: recursion 10 0 0 —

Unit 3 — Array sequences & list

Unit totals: 11 topics · 70 MCQ questions · 6 practice · 12 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why sequences & Python sequence types 6 0 0 —
2 Inhabit: referential arrays 6 1 0 —
3 Inhabit: compact vs referential 6 0 0 —
4 Paper: dynamic array growth 6 0 0 —
5 Contrast: insert-front cost 6 1 1 —
6 Dynamic array class & amortization 6 1 2 —
7 Cost of list operations 6 0 2 —
8 Apps: scoreboard & insert-sort peek 6 1 1 —
9 Stdlib honesty: when list is enough 6 0 0 —
10 Practice playground 6 2 6 —
11 Interview prep: arrays & list 10 0 0 —

Unit 4 — Stacks

Unit totals: 10 topics · 64 MCQ questions · 7 practice · 12 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why stacks (LIFO map) 6 0 0 —
2 Inhabit: Stack ADT 6 1 0 —
3 Paper: push/pop on a named stack 6 0 0 —
4 Contrast: LIFO vs FIFO misuse 6 1 0 —
5 Array-based stack (class) 6 1 2 —
6 Apps: reverse a sequence 6 1 1 —
7 Apps: matching parentheses 6 1 1 —
8 Stdlib honesty: list as stack 6 0 0 —
9 Practice playground 6 2 8 —
10 Interview prep: stacks 10 0 0 —

Unit 5 — Queues & deques

Unit totals: 11 topics · 70 MCQ questions · 8 practice · 12 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why queues (FIFO map) 6 0 0 —
2 Inhabit: Queue ADT 6 1 0 —
3 Contrast: FIFO vs LIFO 6 1 0 —
4 Paper: circular array queue 6 0 0 —
5 Circular array queue class 6 1 2 —
6 Queue apps (buffer / line) 6 1 1 —
7 Deque ADT & class 6 1 1 —
8 Stdlib honesty: collections.deque 6 0 1 —
9 Choose array vs deque 6 1 0 —
10 Practice playground 6 2 7 —
11 Interview prep: queues & deques 10 0 0 —

Unit 6 — Singly linked lists

Unit totals: 12 topics · 76 MCQ questions · 8 practice · 13 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why links vs contiguous arrays 6 0 0 —
2 Inhabit: Node and next 6 1 0 —
3 Inhabit: head, empty, one-node 6 1 0 —
4 Paper: insert and delete walks 6 0 0 —
5 Contrast: lost node / bad link update 6 1 0 —
6 Singly linked list class 6 1 2 —
7 Linked stack 6 1 1 —
8 Linked queue 6 1 1 —
9 Circular list & round-robin lite 6 0 1 —
10 SLL vs array sequences 6 0 0 —
11 Practice playground 6 2 8 —
12 Interview prep: singly linked lists 10 0 0 —

Unit 7 — Doubly linked lists

Unit totals: 10 topics · 64 MCQ questions · 6 practice · 12 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why prev pointers 6 0 0 —
2 Inhabit: doubly linked node 6 1 0 —
3 Paper: insert between neighbors 6 0 0 —
4 Contrast: SLL vs DLL delete-middle 6 1 0 —
5 Doubly linked list class 6 1 2 —
6 Deque via doubly linked list 6 1 1 —
7 Positional list ADT lite 6 0 1 —
8 Stdlib honesty & link vs array 6 0 0 —
9 Practice playground 6 2 8 —
10 Interview prep: doubly linked lists 10 0 0 —

Unit 8 — Trees — structure

Unit totals: 12 topics · 70 MCQ questions · 7 practice · 9 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why trees (hierarchy map) 6 0 0 —
2 Inhabit: root parent child leaf depth height 6 1 0 —
3 Inhabit: general vs binary tree 6 1 0 —
4 Paper: named hierarchy desk 6 0 0 —
5 Contrast: tree vs cyclic graph 6 1 0 —
6 Binary tree ADT & properties 6 0 0 —
7 Linked binary tree implementation 6 1 1 —
8 Array representation lite 6 1 1 —
9 General tree linked lite 6 0 1 —
10 Stdlib honesty for trees 6 0 0 —
11 Practice playground 0 2 6 —
12 Interview prep: tree structure 10 0 0 —

Unit 9 — Tree traversals

Unit totals: 11 topics · 64 MCQ questions · 8 practice · 9 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why traversals 6 0 0 —
2 Inhabit: preorder & postorder 6 1 0 —
3 Inhabit: BFS level order 6 1 0 —
4 Paper: trace four orders on one tree 6 0 0 —
5 Contrast: wrong order breaks expression eval 6 1 0 —
6 Implement preorder postorder BFS 6 1 1 —
7 Inorder & BST peek 6 1 1 —
8 Expression tree case study lite 6 1 1 —
9 Boundary: advanced tours survey only 6 0 0 —
10 Practice playground 0 2 6 —
11 Interview prep: traversals 10 0 0 —

Unit 10 — Priority queues & heaps

Unit totals: 11 topics · 70 MCQ questions · 7 practice · 10 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why priority (not FIFO) 6 0 0 —
2 Inhabit: Priority Queue ADT 6 1 0 —
3 Contrast: unsorted vs sorted list PQ 6 1 0 —
4 Paper: heap array parent/child 6 0 0 —
5 Up-heap & down-heap 6 1 1 —
6 Heap PQ class & analysis 6 1 1 —
7 Heap-sort lite 6 0 1 —
8 Stdlib honesty: heapq 6 1 1 —
9 Practice playground 0 2 6 —
10 Python DS Foundations summative quiz 12 0 0 —
11 Interview prep: heaps 10 0 0 —

Unit 11 — Maps & hash tables

Unit totals: 11 topics · 64 MCQ questions · 7 practice · 9 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why maps (key to value) 6 0 0 —
2 Inhabit: Map ADT 6 1 0 —
3 Paper: word-count desk 6 1 0 —
4 Hash functions inhabit 6 0 0 —
5 Contrast: collisions & load factor 6 1 0 —
6 Hash table implementation 6 1 1 —
7 Chaining vs open addressing lite 6 0 1 —
8 Sets & multisets lite 6 1 1 —
9 Stdlib honesty: dict & set 6 0 0 —
10 Practice playground 0 2 6 —
11 Interview prep: hashing 10 0 0 —

Unit 12 — Search trees

Unit totals: 11 topics · 66 MCQ questions · 7 practice · 9 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why ordered maps & BST 6 0 0 —
2 Inhabit: BST search property 6 1 0 —
3 Paper: insert & search walk 6 0 0 —
4 Contrast: sorted inserts imbalance 6 1 0 —
5 BST search & insert 6 1 1 —
6 BST delete cases 6 1 1 —
7 Why balance? Framework peek 6 0 0 —
8 AVL rotations lite 6 1 1 —
9 Advanced trees survey MCQ 8 0 0 —
10 Practice playground 0 2 6 —
11 Interview prep: BST & balance 10 0 0 —

Unit 13 — Sorting & selection

Unit totals: 11 topics · 64 MCQ questions · 7 practice · 10 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why study sorting 6 0 0 —
2 Inhabit: comparison model 6 1 0 —
3 Paper: merge on a named array 6 0 0 —
4 Merge-sort 6 1 1 —
5 Quick-sort 6 1 1 —
6 Contrast: worst-case quick vs merge 6 1 0 —
7 Lower bound & bucket/radix lite 6 0 0 —
8 Stdlib honesty: list.sort 6 0 1 —
9 Quick-select lite 6 1 1 —
10 Practice playground 0 2 6 —
11 Interview prep: sorting 10 0 0 —

Unit 14 — Graphs — search

Unit totals: 12 topics · 70 MCQ questions · 10 practice · 10 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why graphs 6 0 0 —
2 Inhabit: vertex edge directed 6 2 0 —
3 Inhabit: path cycle connected 6 1 0 —
4 Paper: named city graph 6 0 0 —
5 Contrast: adj list vs matrix 6 1 0 —
6 Graph ADT & adjacency structures 6 1 1 —
7 DFS & extensions 6 1 1 —
8 BFS 6 1 1 —
9 DAGs & topological order 6 1 1 —
10 Stdlib honesty for graphs 6 0 0 —
11 Practice playground 0 2 6 —
12 Interview prep: graph search 10 0 0 —

Unit 15 — Graphs — weighted lite

Unit totals: 9 topics · 52 MCQ questions · 7 practice · 8 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Why edge weights 6 0 0 —
2 Inhabit: shortest path vs BFS 6 2 0 —
3 Paper: Dijkstra on a small desk 6 0 0 —
4 Dijkstra lite 6 1 1 —
5 MST Prim or Kruskal one deep 6 1 1 —
6 Union-find peek 6 1 0 —
7 Boundary: dense theory omit 6 0 0 —
8 Practice playground 0 2 6 —
9 Interview prep: weighted graphs 10 0 0 —

Unit 16 — Capstone & synthesis

Unit totals: 8 topics · 42 MCQ questions · 3 practice · 6 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 References & GC intuition 6 0 0 —
2 Choosing structures — decision table 6 1 0 —
3 Capstone A — multi-ADT project 0 0 1 —
4 Capstone B — graph or sort+structure 0 0 1 —
5 Capstone reflection 8 0 0 —
6 Practice playground 0 2 4 —
7 Python DS Professional summative 12 0 0 —
8 Interview prep: course synthesis 10 0 0 —

Counts are from the live course catalog. MCQs = questions in topic checkpoint quizzes. Practice = formative run-only or SQL practice lane. Evaluated = submit-graded labs that count toward progress and certificates.

← All paid courses · LLM site guide