Python Roadmap for Campus Placements: a 10-Week Plan (What to Learn, Practise and Build Each Week)
Campus placement season in India runs roughly from August to December for most colleges, with pool drives continuing into the next semester. If your first drive is on 15/12/2026, a plan that starts on 01/10/2026 gives you ten full weeks. This page is that plan: week by week, what to learn, what to practise, what to build, and how much time it takes per day. It stretches to twelve weeks or compresses to eight; the notes at the end say how.
It is a Python plan. Most Indian service and product companies let you pick your language in the coding round, and Python is the fastest language to write correct code in under time pressure. If a specific company insists on Java or C++, this plan still covers the concepts; only the syntax changes.
What a Python placement round actually tests. Three things, and the plan is built around them:
- Coding problems (arrays, strings, hashing, two pointers, stacks, binary search, basic DP). Practised on the interview practice page: 24 classic problems grouped by pattern, each with a checker that runs in your browser.
- Language questions ("what is the difference between a list and a tuple", "what does
selfmean"). Covered by the 38 fresher interview questions and the cheat sheets. - A project you can defend. Covered by the placement projects hub: ten projects from easy to impressive, each with what it proves and which lesson teaches it.
Before week 1, take the free level test: 15 questions, about five minutes, no account needed. It tells you which weeks you can skim.
How much time per day
- Weekdays: 90 minutes. 30 minutes of lessons or reading, 45 minutes of problems, 15 minutes writing down what you got wrong.
- Weekends: 3 hours, mostly on the project.
- Total: about 13 hours a week, 130 hours over ten weeks.
If you can only do 60 minutes on weekdays, keep the problem time and cut the reading. Problems are where marks are.
Keep a plain text file of mistakes. One line per mistake: what you wrote, what was right. Read it on Sunday. This is the single highest-return habit in the whole plan.
The 10 weeks at a glance
| Week | Learn | Practise | Build |
|---|---|---|---|
| 1 | Basics: variables, strings, control flow | Cheat sheets: strings, control flow | Project #1: report card |
| 2 | Lists, dicts, sets, tuples, functions | Cheat sheets: lists, dicts and sets | Project #2: expense tracker |
| 3 | Comprehensions, errors, files, JSON, modules | Cheat sheets: files and JSON, errors | Project #3: to-do CLI |
| 4 | Big-O, arrays, hashing | Interview: two sum, group anagrams, top-k | Write the README for #1 to #3 |
| 5 | Two pointers, sliding window | Interview: valid palindrome, move zeroes, longest substring | Project #4: log analyser |
| 6 | Classes, inheritance, dunder methods, dataclasses | Cheat sheet: classes and OOP; freshers Q21 to Q29 | Project #5: bank accounts |
| 7 | Stacks, queues, binary search | Interview: valid parentheses, daily temperatures, binary search | Project #6: URL shortener with tests |
| 8 | Recursion, intro DP | Interview: climbing stairs, house robber, coin change | Start the impressive project |
| 9 | Generators, decorators, strings problems | Interview: chunked generator, call counter, first unique character | Finish the impressive project |
| 10 | Revision only | Re-solve every problem you failed; freshers Q1 to Q38 aloud | Rehearse the project pitch |
Project numbers refer to the placement projects hub. Interview problem names refer to the interview practice page.
Week 1: the basics, properly
Learn: Hello, World!, Variables and Types, Numbers and Math, Strings, If / Else and Loops. These five are free, no account needed. If the level test put you past them, skim the strings lesson anyway; string methods come up in every round.
Practise: the strings cheat sheet and the control flow cheat sheet. Type every snippet out yourself in the practice editor; do not copy-paste.
Build: Project #1, the report card. Two hours on the weekend.
Checkpoint (Sunday, from memory): write a function that returns the number of vowels in a string, then a loop that prints the multiplication table of 7. If either takes more than five minutes, repeat the week's lessons before moving on.
def count_vowels(s):
return sum(1 for ch in s.lower() if ch in "aeiou")
print(count_vowels("Placement Season")) # 6
for i in range(1, 11):
print(f"7 x {i:>2} = {7 * i}")
Week 2: the four containers and functions
Learn: Lists and Looping, Slicing, Tuples and Sets, Dictionaries, enumerate, zip, range, Functions. From here on, the lessons are part of the paid curriculum; a new account gets a 7-day trial of all of them with no card, and the cheat sheets and interview problems stay free regardless.
Practise: the lists cheat sheet and the dicts and sets cheat sheet. Then the freshers questions 11 to 20 (data structures).
Build: Project #2, the expense tracker.
Checkpoint: given marks = {"Asha": 82, "Vikram": 91, "Neha": 76}, print the names in descending order of marks, without looking anything up.
marks = {"Asha": 82, "Vikram": 91, "Neha": 76}
for name in sorted(marks, key=marks.get, reverse=True):
print(name, marks[name])
# Vikram 91
# Asha 82
# Neha 76
Week 3: comprehensions, errors, files
Learn: List Comprehensions, Errors and try/except, Context Managers (with), JSON, Modules and Imports.
Practise: files and JSON cheat sheet, errors and exceptions cheat sheet. Freshers questions 1 to 10 (basics) and 30 to 33.
Build: Project #3, the to-do CLI with JSON storage. This is the first project that survives a restart, and the first one worth putting on GitHub.
Checkpoint: read a file of name,mark lines and return a dict, skipping malformed lines without crashing. Write it, then feed it a bad line.
Week 4: Big-O and hashing (the coding round starts here)
Learn: Big-O notation, Arrays, Hashing: the O(1) lookup.
Practise: on the interview page, the arrays and hashing pattern: two sum, group anagrams, top K frequent. Do each one twice: once with the hint, once the next day without it.
Build: no new project. Write a proper README for projects #1 to #3 (what it does, how to run it, sample output) and push them to GitHub with a .gitignore. The Git for Python devs lesson covers the commands.
Checkpoint: state the time complexity of x in some_list, x in some_set, some_list.append(x), some_list.insert(0, x) and sorted(some_list) without hesitation. (O(n), O(1) average, O(1) amortised, O(n), O(n log n).)
Week 5: two pointers and sliding window
Learn: Two Pointers, Sliding Window.
Practise: valid palindrome, move zeroes, container with most water, max sum of a window of size k, longest substring without repeating characters.
Build: Project #4, the log analyser (regex plus Counter). It reuses the hashing idea from week 4 in a realistic setting, which is exactly the story you want to tell about it.
Checkpoint: the window-sum problem in O(n), from memory.
def max_window_sum(nums, k):
window = sum(nums[:k])
best = window
for i in range(k, len(nums)):
window += nums[i] - nums[i - k] # slide: add one, drop one
best = max(best, window)
return best
print(max_window_sum([2, 1, 5, 1, 3, 2], 3)) # 9
Week 6: OOP
Learn: Classes and Objects, Inheritance and super(), Magic / Dunder Methods, Dataclasses.
Practise: the classes and OOP cheat sheet and freshers questions 21 to 29. OOP questions are asked verbally more often than as code, so practise saying the answers out loud.
Build: Project #5, the bank account system with custom exceptions. It is the project OOP questions get asked about, so build it well.
Checkpoint: explain the difference between a class attribute and an instance attribute in two sentences, with the mutable-list trap as the example.
Week 7: stacks, queues and binary search
Learn: Stacks, Queues, Deques and BFS foundations, Binary Search.
Practise: valid parentheses, daily temperatures, evaluate RPN, binary search, first and last position, search a rotated sorted array.
Build: Project #6, the URL shortener with tests. This is the week you learn pytest (Testing with pytest); a tests/ folder is the cheapest way to look senior.
Checkpoint: binary search, written without an off-by-one error, first try.
def binary_search(nums, target):
lo, hi = 0, len(nums) - 1
while lo <= hi:
mid = (lo + hi) // 2
if nums[mid] == target:
return mid
if nums[mid] < target:
lo = mid + 1
else:
hi = mid - 1
return -1
print(binary_search([1, 3, 5, 7, 9, 11], 7)) # 3
print(binary_search([1, 3, 5, 7, 9, 11], 4)) # -1
Week 8: recursion and the first DP problems
Learn: Recursion, Recursion patterns, Dynamic Programming intro, House Robber.
Practise: climbing stairs, house robber, coin change. Most campus rounds stop at 1-D DP; if you are aiming at product companies, add Coin Change and LIS from the lessons.
Build: start your impressive project: #8 (Flask notes app) for backend roles, #7 (pandas sales analysis) for data roles, #9 (FastAPI to-do API) if you already know Flask. Weekend one: get it working end to end, ugly.
Checkpoint: climbing stairs in O(n) time and O(1) space, and explain why the naive recursion is exponential.
Week 9: Python fluency and strings
Learn: Generators, Decorators, Closures and nonlocal. These are the questions that separate "knows Python" from "knows programming in Python".
Practise: flatten a nested list, chunk an iterable, a decorator that counts calls, first non-repeating character, longest common prefix, string compression.
Build: finish the impressive project. Weekend two: README, a screenshot or sample output, one test, deployed if it is a web app (Deploying a Python web app).
Checkpoint: write a generator that yields chunks of size n from any iterable, from memory.
Week 10: revision, not new material
No new lessons. Re-solve every interview problem you failed the first time, this time in the editor with no hints. Go through all 38 freshers questions and answer each aloud in under thirty seconds. Print the cheat sheets you still need and read them on the way to college.
Rehearse the project pitch from the how to present a project section: problem, one number, one decision, one bug, what next. Time it. Ten minutes maximum, with the repo open on your phone.
The night before: sleep. Nothing learnt after 22:00 the night before a drive survives to the coding round.
If you have 8 weeks or 12 weeks
Eight weeks: merge weeks 1 and 2 (skip lessons the level test cleared), and merge weeks 8 and 9 (do climbing stairs and house robber only; keep decorators, drop closures). Keep week 10 as revision no matter what.
Twelve weeks: add a week after week 5 for Sorting and Binary Trees, and a week after week 9 for Heaps and Graph BFS. Product companies ask these; most service companies do not.
Already working through a college DSA course in C or Java? Do weeks 1 to 3 and 6 and 9 here (the Python parts), and use the interview page for the problems you have already seen in another language. Re-solving a known problem in Python is a fast way to learn the idioms.
What PyRun covers, and what it does not
This plan links to what exists on PyRun today, and it is worth being clear about the edges.
Covered: the Python language from the first line to decorators and async; a DSA track from Big-O through DP, graphs and heaps; 24 interview problems with browser-run checkers; 10 printable cheat sheets; a 15-question level test; three guided projects; lessons on Flask, FastAPI, SQLite, pandas and pytest. Python runs in the browser (Pyodide, Python 3.12), so nothing needs installing for the lessons and problems.
Not covered, so plan for it elsewhere: aptitude and reasoning tests; HR and group-discussion rounds; core CS theory papers (operating systems, computer networks, DBMS theory beyond the SQL lessons); company-specific question banks; mock interviews with a human; resume review; Java or C++. The interview checkers test correctness, not speed, so they will not tell you if your solution would time out on a strict online judge. For that, solve the same problems on a judge that enforces limits once you have a working version here.
None of this guarantees a placement. It gets you to the coding round with the Python you need and a project you can talk about, which is the part that is under your control.
Start today
- Take the level test (five minutes).
- Open the strings cheat sheet and type out ten snippets in the practice editor.
- Read project #1 in the placement projects hub and build it this weekend.
Then come back to week 2.