TESTING AREA for teachers - real service at plus.tuni.fi
- COMP.CS.200
- 15. ワークショップ (WORKSHOP) 12.06.2025
- 15.2 Computational thinking (CT)
Computational thinking (CT)¶
CT strategies¶
The following section is inspired by the principles of computational thinking, an approach to problem-solving that includes decomposing complex problems, recognizing patterns, and designing algorithms to solve them. These strategies are fundamental in both mathematics and computer science.
This perspective builds on Jeannette Wing’s seminal definition of computational thinking, which she describes in terms of three core pillars: abstraction, automation, and analysis. In this context, we place special emphasis on functional thinking as part of abstraction and automation, along with the importance of testing and proving correctness as part of analysis.
For more details, see:
Wing, Jeannette M. “Computational thinking.” Communications of the ACM 49.3 (2006): 33-35
Functional thinking¶
This section explores functional thinking, a key component of the abstraction pillar in computational thinking. Functional thinking involves understanding and solving problems by modeling them as functions—clear, rule-based relationships between inputs and outputs.
In mathematics, functional thinking builds on algebraic thinking but places greater emphasis on how values are transformed. While algebraic thinking focuses on symbolic representations and structures, functional thinking highlights how inputs are systematically mapped to outputs through well-defined operations.
In programming, functional thinking promotes writing code that is modular, predictable, and reusable. It typically involves the use of functions, variables, higher-order functions, and recursion to express solutions in a clear and structured manner.
The following section will assess students’ prior knowledge and intuitive understanding of these concepts.