Foundational Level Course
Computational Thinking
The students will be introduced to a number of programming concepts using illustrative examples which will be solved almost entirely manually. The manual execution of each solution allows for close inspection of the concepts being discussed.


Course ID: BSCCS1001
Course Credits: 4
Course Type: Foundational
Prerequisites: None
What you’ll learn
Course structure & Assessments
12 weeks of coursework, weekly online assignments, 3 in-person invigilated quizzes, 1 in-person invigilated end term exam. For details of standard course structure and assessments, visit Academics page.
WEEK 1 - Click Here | Introduction to course and datasets, concept of variables, Iterators, Filtering, Sanity of data |
WEEK 2 | Local operations, Max in single iteration, Max in double iterations (non nested) |
WEEK 3 | Flowcharts, Pseudocodes, Procedures, Parameters |
WEEK 4 | Construction of flowcharts and pseudocode from a recipe, DIY manual, Conversion from a flowchart to pseudocode |
WEEK 5 | Data dependencies, Three prize problem, Lists, Nested iterations, Pattern recognition |
WEEK 6 | Relationships among data using a bipartite graphs e.g. loyal customer, competing shops, best discount |
WEEK 7 | Data similarities and duplication using trees e.g. similar sentences, occurrences of a person or pronoun, movie’s summary comparison to find similar movies |
WEEK 8 | Matrix, Graphs and optimization e.g. direct trains, best route, travel or total time, low fares |
WEEK 9 | Searching (Linear and Binary), Sorting (Insertion and Selection), Indexing, Hashing |
WEEK 10 | Recursion, Divide and Conquer |
WEEK 11 | BFS, DFS, Backtracking |
WEEK 12 | Evaluating arithmetic expressions, Soundex algorithm, Course wrap-up |
About the Instructors

Madhavan Mukund studied at IIT Bombay (BTech) and Aarhus University (PhD). He has been a faculty member at Chennai Mathematical Institute since 1992, where he is presently Deputy Director and Dean of Studies. His main research area is formal verification. He has active research collaborations within and outside India and serves on international conference programme committees and editorial boards of journals.
He has served as President of both the Indian Association for Research in Computing Science (IARCS) (2011-2017) and the ACM India Council (2016-2018). He has been the National Coordinator of the Indian Computing Olympiad since 2002. He served as the Executive Director of the International Olympiad in Informatics from 2011-2014.
In addition to the NPTEL MOOC programme, he has been involved in organizing IARCS Instructional Courses for college teachers. He is a member of ACM India's Education Committee. He has contributed lectures on algorithms to the Massively Empowered Classroom (MEC) project of Microsoft Research and the QEEE programme of MHRD.
Other courses by the same instructor: BSCCS2002 - Programming, Data Structures and Algorithms using Python , BSCCS2005 - Programming Concepts using Java and BSCMA1001 - Mathematics for Data Science I

Dr. Venkatesh is a Professor of Practice at IIT Madras, where he is involved with several projects in the field of education. He is also a Fellow and Director of Sasken Communication Technologies Ltd, a leading Indian R&D services provider, and a founder of Mylspot, an education technology startup that aims to bridge knowledge gaps of students through a mentored learning platform.
Dr Venkatesh is a graduate in electronics from IIT Madras, PhD in Computer Science from TIFR, Mumbai and was a faculty member of the Computer Science & Engineering Dept of IIT Bombay for 8 years where his research interests revolved around declarative languages and their application to the design of embedded systems. He moved to the industry when Sasken was being formed, where he led their technology activities for over two decades. He was a visiting/adjunct faculty at IIM Bangalore for 10 years and a Chair Professor in the department of EE at IIT Madras for 3 years.
Dr. Venkatesh was elected as a fellow of the Indian National Academy of Engineers in 2006 and the IETE in 2012. He won the Technomentor award of the Indian Electronics and Semiconductor Association in 2013 and the Vasvik award for industrial research in 2015. Dr. Venkatesh serves on a number of government, industry and investor committees and boards in the areas of microelectronics, telecommunications and education.
Other courses by the same instructor: BSCMS2001 - Business Data Management and BSCMS2002 - Business Analytics