Computational Thinking After the IITM BS Qualifier (Weeks 5 to 12)
By Editorial TeamLast reviewed
5 min readData ScienceOn this page
After the qualifier, Computational Thinking moves from simple loops to lists, dictionaries, graphs, recursion and objects. These weeks need more careful work than the qualifier weeks. The best way to learn them is the way the course teaches: run each procedure by hand, step by step, on a tiny example. Once you can trace a procedure on paper, questions about it get much easier.
What weeks 5 to 12 cover
Computational Thinking (code BSCS1001) is a 4 credit foundation course with no prerequisite. Its course page says examples are solved almost entirely by hand, so you can see each idea closely. Here are the later weeks:
| Week | Topics |
|---|---|
| 5 | Lists, insertion sort |
| 6 | Tables, dictionaries |
| 7 | Graphs, matrices |
| 8 | Adjacency matrix, edge-labelled graphs |
| 9 | Backtracking, trees, depth first search, recursion |
| 10 | Objects: classes, encapsulation, abstraction, access specifiers |
| 11 | Message passing, caches, parallelism, concurrency, race conditions, deadlock |
| 12 | Top-down and bottom-up approaches, decision trees, prediction, classification |
Weeks 1 to 4 (variables, iteration, filtering, procedures, nested loops, binning) are the content you studied for the qualifier. Weeks 5 to 12 build on them. For the early weeks, see our qualifier CT post.
Is there a programming quiz in CT?
The course page lists the standard pattern: 12 weeks of content, weekly online assignments, 2 in-person quizzes and 1 in-person end term. It does not list a programming exam for this course. The academics page says some courses add programming exams, vivas or projects, so check your CT grading document for the term. That document is the final word.
How to practise: trace everything
A trace table lists every variable and how it changes at each step. Build one for every new procedure.
Week 5: insertion sort
Sort 5, 2, 4, 1 by inserting each number into the sorted part on its left:
| Step | List after the step |
|---|---|
| Start | 5, 2, 4, 1 |
| Insert 2 | 2, 5, 4, 1 |
| Insert 4 | 2, 4, 5, 1 |
| Insert 1 | 1, 2, 4, 5 |
Now count the comparisons at each step. Practise counting how many times a step runs, as well as finding the final answer.
Week 6: dictionaries
Count words in "to be or not to be". Go word by word and update the count each time. You end with to: 2, be: 2, or: 1, not: 1. The key idea: look up a word, and add it if it is new.
Weeks 7 and 8: graphs as matrices
Say three towns A, B and C, with roads A to B and B to C. In the adjacency matrix, row A is 0, 1, 0, row B is 1, 0, 1, and row C is 0, 1, 0. For an edge-labelled graph, put the distance in place of the 1. Practise reading questions like "which towns can be reached in two steps" straight from the matrix.
Week 9: recursion and backtracking
Trace recursion as a stack of calls. factorial(3) calls factorial(2), which calls factorial(1). Then the answers come back: 1, then 2 x 1 = 2, then 3 x 2 = 6. For backtracking, write each choice you try, and cross it out when you undo it. For depth first search, write the order in which nodes are visited.
Week 10: objects
A class is a template. An object is one thing made from it. Encapsulation means an object keeps its data and the procedures that change that data together. Practise by describing everyday things this way, like a bank account with a balance and deposit and withdraw procedures.
Weeks 11 and 12: ideas, not tracing
These weeks are mostly concepts. Write a one-line meaning and a small example for each term.
- Race condition: two people withdraw from the same account at the same moment. Both read a balance of 100, and one update is lost.
- Deadlock: two people each hold one key and wait for the other's key forever.
- Decision tree: a chain of yes or no questions that ends in a prediction, like "cloudy? then humid? then carry an umbrella".
Common mistakes
- Running the procedure in your head too fast and skipping a step. Write it down.
- Losing track of which variable a procedure changes. Week 3's side effects come back in later weeks.
- Getting the first or last pass of a loop wrong. Check both ends of every iteration.
- Treating weeks 11 and 12 as easy reading. Definitions still need exact wording.
Using the official material
The handbook says each week has self-tests after the videos and a practice assignment with solutions. Trace the practice questions on paper before you check. Do your graded assignments yourself, because sharing or copying answers breaks the honour code.
CT is the prerequisite for Programming in Python, and many of its ideas return there. See our Python practice guide.
Common questions
Do I need to know a programming language for CT?
No. The course page says problems are solved almost entirely by hand, using flowcharts and pseudocode. Programming in Python comes after CT.
My qualifier CT score was good. Will weeks 5 to 12 be easy?
Not automatically. Weeks 5 to 9 add data structures and recursion, which need more tracing practice than loops did. Keep the same weekly routine.
Which weeks does Quiz 2 cover?
Quiz 2 is based on weeks 1 to 8, so it includes lists, dictionaries and graphs. See Quiz 1 and Quiz 2.
Where can I get a quick overview of CT?
Our Computational Thinking subject page gives a short summary of the course.
Official sources
Read next
- IITM BS English 1 and English 2: Easy Marks or a Trap?
- IITM BS Maths 1: A Week-by-Week Survival Guide
- IITM BS Statistics 1 and 2: How to Improve Your Scores
- Maths 2 and Stats 2 in the Same IITM BS Term: Good Idea?
- IITM BS English II (BSHS1002): Syllabus and Tips
- IITM BS Mathematics for Data Science II (BSMA1003): Syllabus and Tips