Trace it.
Break it.
Build it.
A separate learning space for core coding habits: state, control flow, functions, data structures, debugging, and complexity. The goal is not syntax trivia. The goal is reading programs like systems.
The core programming track is live now. It stays outside IITM content, but uses the same shell, reader, and workspace behavior.
Accumulator Loop
total = 0
for n in [2, 4, 6]:
total = total + n
print(total)What value prints at the end?
Choose the final output, then compare your mental trace against the state table.
Lessons
Variables and State
Variables and State
Core idea
score = score + 1 should be read in two phases:- Read the current value of
score. - Store the new value back under the same name.
Trace habit
| Step | Code | State |
|---|---|---|
| 1 | score = 0 | score: 0 |
| 2 | score = score + 1 | score: 1 |
= update at the same time.Practice
pythonlevel = 2 level = level + 3 level = level * 2 print(level)
10.Trace Table
Step through code and predict the final state before revealing the answer.
Branch Lab
Practice reading conditions and loop exits with small deterministic cases.
Debug Log
Learn to turn bugs into reproducible notes instead of vague frustration.
Trace Sheets
Printable state tables for variables, loops, functions, and list operations.
Pattern Cards
Small reusable patterns: accumulator, guard clause, lookup map, and queue.
Debug Playbooks
Reproduction checklists and minimal-case templates for future coding work.