Nurturing Computational Thinkers

In the course Computational Thinking, students are taught to think about program design through problems.
Key Takeaways
- The Computational Thinking course at Plaksha University focuses on developing students' problem-solving mindset rather than simply teaching programming.
- Students learn to connect real-world problems with computational structures and program design principles.
- A collaborative assignment with the Center for Thinking, Language & Communication (CTLC) encourages students to identify computational problems from everyday themes.
- The course helps students understand both the possibilities and limitations of computational thinking, fostering deeper intellectual curiosity.
I believe that instilling the right frame of thinking is the sole purpose of teaching. This is the underlying tenet of the course Computational Thinking that I teach to the first year Freshmore students at Plaksha University. The course is designed around a set of broad frameworks underlying program design. The students are taught to think about program design through problems by illustrating how the design emerges from these frameworks. This is key to computational thinking. By learning to make the connections between problems and structures, students become better positioned to imagine the connections between newer problems and their underlying program structure.
The course forms part of the foundational computing experience for Freshmore students at Plaksha, introducing them to the principles of computational thinking that underpin effective problem-solving and program design. Through this approach to engineering pedagogy, students begin developing the ability to think like computational thinkers rather than simply learning programming techniques.
How Do Students Learn to Think Computationally?
Another feature that we introduced in this course is the element of posing a computational problem. This is a subtle aspect of computational thinking that is seldom touched upon. In the Computational Thinking course, we introduced a joint assignment with the Center for Thinking, Language & Communication (CTLC) team. In this assignment, the students were asked to pick a theme and then identify a computational problem within the theme. An example of a theme is congestion, and a computational problem is traffic light management at an intersection. While traffic light management is not a trivial problem by itself, the students were required to pick a structure from the structures they had been introduced to. The idea of this exercise was to enable them to see the intricate connection between a construct or structure and the scope of the problem it could solve. It was to enable the students to appreciate where new computational constructs possibly arise from, the boundaries of what older constructs can solve, and what they cannot solve. It was in a way an exercise to appreciate the limits of what was taught in the class and what lies beyond, which I believe is true knowledge.
This article was first published in our 1729 Newsletter July 2024 - Jan 2025.
About the Author
Deepan Muthirayan
Deepan Muthirayan is an Assistant Professor at Plaksha University. He obtained his PhD from the University of California at Berkeley (2016) and Dual Degree (BTech/MTech) from the Indian Institute of Technology Madras (2010).
