Basecamp 03 · Computational Thinking
Basecamp

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
start max = L[0], i = 1 i < len(L)? return max yes no
week 1 · the only three shapes you need
01

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.

02

The twelve weeks

Topics quoted from the official course page

Four 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.

W1

Variables, initialization, iterators, filtering, datatypes, flowcharts, sanity of data.

W2

Iteration, filtering, selection, pseudocode, finding max and min, AND operator.max-and-min is the pattern every later question is built from — see the tracer below

W3

Multiple iterations (non-nested), three prizes problem, procedures, parameters, side effects, OR operator.

W4

Nested iterations, birthday paradox, binning.where the difficulty step is — nested loops break more people than anything else here

W5

List, insertion sort.

W6

Table, dictionary.

W7

Graph, matrix.last week that counts toward end-term eligibility

W8

Adjacency matrix, edge labelled graph.

W9

Backtracking, tree, depth first search, recursion.

W10

Object oriented programming. Class, object, encapsulation, abstraction, information hiding, access specifiers.

W11

Systems concepts. Message passing, remote procedure call, cache memory, parallelism, concurrency, polling, preemption, multithreading, producer–consumer, atomicity, consistency, race condition, deadlock, broadcasting.fourteen terms in one week — definitional, and very answerable if you make a glossary

W12

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.

03

Trace it, do not read it

Week 2 · finding the max and the min

This 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.

Procedure MaxMin(L)

step through it

    Variables

    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.

    04

    How it is graded

    May 2026 grading document · confirm against your course page

    The standard Foundation formula, with no bonus activities:

    T = max( 0.6F + 0.3·max(Qz1, Qz2),  0.45F + 0.25Qz1 + 0.3Qz2 )

    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.

    05

    Where the marks actually go

    My read, from this course and from what people ask about
    01

    Nested 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.

    02

    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.

    03

    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.

    04

    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.

    06

    Everything worth opening

    Official first, then the free things that genuinely help

    Every link here was opened and checked on 23 September 2026.

    Official

    For tracing and visualising

    For the wider picture

    07

    What to do in week one

    Term starts 2 October 2026
    1. 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.
    2. 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.
    3. Set up Python TutorType the week's pseudocode as Python and step through it. Having the answer checked changes how fast you learn.
    4. Do the assignments — all of themThere is no textbook. The weekly problems are the only practice set that exists.
    5. 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.
    6. 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.