Computational Thinking
How to break a problem into steps a computer can follow — the ideas behind programming, taught before any language.
§ 1Calendar
- Quiz 1—
- Quiz 2—
- End-term examination—
§ 2Previous Year Questions
-
Foundation previous term papers
Past quizzes and end term papers with answer keys, for all foundation courses.
medium.comby Pratham Bhalla
§ 3Resources
Course material3
-
Official course page
study.iitm.ac.in
-
Lecture slides (Drive folder)
drive.google.comIITM login required
-
Lecture transcripts (Drive folder)
drive.google.comIITM login required
Notes3
-
Course notes
Notes and study material for this course.
iitmbsdegree.inby IITM BS Students' Corner -
Topic-wise notes
Topic-wise notes on ML Study Hub.
degreedost.comby ML Study Hub -
Computational Thinking notes on Medium
Written notes for Computational Thinking.
medium.comby Pratham Bhalla
Syllabus
The official course syllabus, transcribed from the IITM BS Data Science & Applications course booklet.
§ 1Course Description
Students will be introduced to key programming concepts through illustrative examples, most of which are worked out manually. This step-by-step approach enables close examination and deeper understanding of the concepts discussed.
Lectures-Tutorials-Practicals-Credits: 4-0-0-4
§ 2Faculty
- Prof. Madhavan Mukund, Director, Chennai Mathematical Institute
- Prof. G Venkatesh, Director, School of Technology, Dhirubhai Ambani University
§ 3Week-by-week
Week 1: Introduction to datasets, variables, filtering and iteration; flowcharts; data types and data integrity.
Week 2: Iterative problem solving; conditional logic, aggregation (max, counts), and introduction to pseudocode.
Week 3: Tabular data representation; multi-step analysis, hypothesis testing, and modular programming with procedures.
Week 4: Nested iterations and computational complexity; optimization techniques like binning; real-world text and data matching problems.
Week 5: Introduction to collections; list data structures and basic operations.
Week 6: Advanced list operations; sorting, ordered data, and data-driven hypothesis testing.
Week 7: Dictionaries and key-value data structures; applications in real-world data relationships.
Week 8: Advanced dictionary operations; combining lists and dictionaries; side effects and structured data processing.
Week 9: Graph data structures; representation, relationships, and real-world network modeling.
Week 10: Graph representations and traversal strategies; adjacency structures and path-finding approaches.
Week 11: Recursion and depth-first search; algorithm design using recursive procedures.
Week 12: Comprehensive problem solving and revision across programming fundamentals, data structures, and algorithms.