BSCS1001 · 4 credits · Foundation
Computational
Thinking
Programming with no compiler to tell you that you are wrong. You write pseudocode and draw flowcharts, and the only way to know whether they work is to trace them by hand.
- Lectures
- 134 · 38 h
- Prerequisite
- None
- Assessed by
- 2 quizzes + end term
- Unlocks
- Programming in Python
What this course actually asks
Can you be the computer for three minutes?Computational Thinking is taught by Madhavan Mukund, director of Chennai Mathematical Institute, and G Venkatesh, Professor of Practice at IIT Madras. It is deliberately language-free: you never run anything. You write pseudocode, draw flowcharts, and answer questions about what they would do.
That sounds easier than programming. It is harder, because the feedback loop is gone. In Python, a wrong loop bound produces an error you can see. Here, a wrong loop bound produces an answer that looks fine until the exam marks it wrong. The entire skill the course builds is tracing — walking a program line by line, writing down what every variable holds, and not skipping ahead.
If you already code, do not skip the early weeks. The course's pseudocode has its own conventions, and the exam questions are about its notation, not about whether you could write the same thing in Python.
It is the prerequisite for Programming in Python, and the concepts in weeks 5 to 9 — lists, dictionaries, graphs, matrices, recursion — come back there immediately.
The twelve weeks
Topics quoted from the official course pageFour blocks: 1–4 build the control flow, 5–9 build the data structures, 10 is object-oriented programming, and 11–12 are a tour of ideas you will meet again years later.
Variables, initialization, iterators, filtering, datatypes, flowcharts, sanity of data.
Iteration, filtering, selection, pseudocode, finding max and min, AND operator.
Multiple iterations (non-nested), three prizes problem, procedures, parameters, side effects, OR operator.
Nested iterations, birthday paradox, binning.
List, insertion sort.
Table, dictionary.
Graph, matrix.
Adjacency matrix, edge labelled graph.
Backtracking, tree, depth first search, recursion.
Object oriented programming. Class, object, encapsulation, abstraction, information hiding, access specifiers.
Systems concepts. Message passing, remote procedure call, cache memory, parallelism, concurrency, polling, preemption, multithreading, producer–consumer, atomicity, consistency, race condition, deadlock, broadcasting.
Approaches. Top-down, bottom-up, decision tree, numerical prediction, behaviour analysis, classification.
Week 11 looks impossible and is not
Fourteen systems concepts land in one week and people panic. They are definitional at this level — what a race condition is, what deadlock means, why you would poll. One page of your own notes covers it, and it sits in the end term where the marks are easy.
Trace it, do not read it
Week 2 · finding the max and the minThis is the shape of almost every question in the first half of the course. Step through it once, then hit New list and predict each line before you press next. When you can do that reliably, weeks 2 to 6 are solved.
Notice line 2 and 3. Both start at L[0], not
at 0 and not at infinity. Starting max at 0 is the single most
common bug in this course, and it only shows up when every element is
negative — which is exactly the case an exam will hand you.
How it is graded
May 2026 grading document · confirm against your course pageThe standard Foundation formula, with no bonus activities:
The eligibility gate
The average of your best 5 of 8 — the first seven weekly assignments plus Mock Quiz 1 — must be 40/100 or more, and you must attend at least one of the two quizzes. Mock Quiz 1 appears in the dashboard as "Mock Assignment".
Assignments matter most in this course
There is no prescribed textbook here. The weekly problems are the practice set — and with GAA now at zero, 10 marks of quiz and end-term questions are drawn from them. Doing them is not optional just because they score nothing.
Where the marks actually go
My read, from this course and from what people ask aboutNested loops, in week 4
One loop is intuitive. Two loops, where the inner counter resets every time the outer one moves, is where people start guessing. Trace a nested loop on paper until you can predict the count of iterations without running it.
Off-by-one on the loop bound
i < length(L) and i <= length(L) differ by
exactly one wrong answer. With no compiler, nothing catches it except
your own trace.
Reading an adjacency matrix backwards
In week 8, row i column j means an edge from i to j. For directed graphs the matrix is not symmetric, and swapping them silently flips every answer.
Skipping weeks 11 and 12
They fall outside the eligibility window, they look intimidating, and they are the most definitional — and therefore the most scoreable — pages of the end term.
Everything worth opening
Official first, then the free things that genuinely helpEvery link here was opened and checked on 23 September 2026.
Official
- Course page BSCS1001 on study.iitm.ac.in The week list and the instructors.
- Lectures Computational Thinking — full playlist All 134 official lectures on the programme's own channel.
For tracing and visualising
- Tool Python Tutor Paste a short program and step through it with every variable visible. Translate the week's pseudocode into Python and watch it run — the single most useful habit in this course.
- Tool VisuAlgo · Sorting Insertion sort, animated, with the comparison count shown. Week 5 in five minutes.
- Tool VisuAlgo · DFS and BFS Draw your own graph and walk it. Covers weeks 7 to 9, and Maths 1's weeks 10–11 too.
- Tool diagrams.net Free flowchart editor with the standard shapes. Drawing a flowchart properly once is worth more than watching week 1 twice.
For the wider picture
- Course MIT OCW 6.0001 Free lectures and problem sets covering the same control flow and data structures, with code you can run. Good second pass on weeks 1–9.
- Free book Operating Systems: Three Easy Pieces Only for week 11, and only if the concurrency vocabulary bothers you. The chapters on threads, locks and deadlock are free and unusually readable.
What to do in week one
Term starts 2 October 2026- Buy a notebook for tracesNot a file — paper. Every pseudocode question you meet, write the variable table out by hand. This is the whole course.
- Learn the three flowchart shapes on day oneRectangle for a step, diamond for a decision, rounded box for start and end. Week 1 assumes them from the first lecture.
- Set up Python TutorType the week's pseudocode as Python and step through it. Having the answer checked changes how fast you learn.
- Do the assignments — all of themThere is no textbook. The weekly problems are the only practice set that exists.
- Start a glossary nowEvery named term — side effect, parameter, binning, atomicity — one line each. By week 11 you will have the hardest week already written.
- Check your course page's grading sectionEverything here is from the May 2026 document. The September 2026 one was not published when this was written.