MVGR College of Engineering
Python with DSA
13-Week Lesson Plan
CodeChef Training Program | Lab: 2 hrs/week | Homework: as specified per week
Week 1 — Introduction to Python & Core Concepts
1 Introduction to Python
2 Output / print in Python
3 User Inputs
4 Variables and Data Types
5 Operators — Arithmetic, Logical, Assignment
■ Homework: 10–20 problems on output, variables, data types and operators
Week 2 — Strings & Conditional Statements
1 Strings — indexes and slicing
2 Conditional Statements — if-else, and, or
■ Homework: 10–20 problems on strings and conditional statements
Week 3 — Loops, Debugging & Lists
1 Loops — for, while, break, continue, nested loops
2 Code Debugging — identifying and fixing errors
3 List — introduction and list operations
■ Homework: 10–20 problems on loops, debugging and lists
Week 4 — Functions, Tuples, Dictionary & Sets
1 Functions in Python
2 Tuples
3 Dictionary
4 Set operations
■ Homework: 10–20 problems on functions, tuples, dictionaries and sets
Week 5 — Algorithm Problem Solving & Recursion
1 Getting started with algorithm problem solving
2 Review problems and understand test cases
3 Recursion in Python
■ Homework: 10–20 problems on problem solving and recursion
Week 6 — Assessment + NumPy & Pandas
★ Assessment — 45 min in-lab test on Python programming (Weeks 1–5)
2 NumPy — arrays, operations, indexing
3 Pandas — dataframes, basic operations
■ Homework: 10 problems on NumPy and Pandas | 1 Basic project | 1 Intermediate project
Week 7 — Linked Lists & Basic Problem Solving
1 Linked List
2 Practising basic maths problems
3 Practising basic array problems
■ Homework: 30 problems on linked lists, basic maths and arrays
■ 2-hour take-home assessment to be scheduled
Week 8 — Stacks, Queues & Time Complexity
1 Strings, Arrays and Prefix Sum problems — in-lab practice
2 Stacks
3 Queues
4 Time Complexity — introduction and analysis
■ Homework: 25 problems on stacks, queues and prefix sum
Week 9 — Searching & Sorting Algorithms
1 Searching — Linear Search, Binary Search
2 Sorting — Bubble, Selection, Insertion, Merge, Quick Sort
■ Homework: 25 problems on searching and sorting
Week 10 — Assessment + Hashing & Two Pointer / Sliding Window
★ Assessment — 1 hour in-lab test on Sorting
2 Hashing
3 Two Pointer technique
4 Sliding Window technique
■ Homework: 10 problems on hashing and two pointer / sliding window
Week 11 — BST & Trees
1 Binary Tree — introduction and traversals
2 Binary Search Tree
3 In-lab problem solving — 3 problems
■ Homework: 10 problems on trees and BST
■ 2-hour take-home assessment to be scheduled
Week 12 — Assessment + Graphs
★ Assessment — 1 hour in-lab test on Arrays, Strings, Stacks, Queues and Sorting
2 Graphs — introduction, BFS, DFS
■ Homework: 10 problems on graphs
Week 13 — NumPy, Pandas & Matplotlib — Data Analysis
1 Recap — NumPy and Pandas
2 Matplotlib — plotting and visualisation
3 1 Basic Data Analysis project
■ Homework: Completion and submission of Data Analysis project