Computational thinking[1] is a problem-solving process that involves breaking down complex problems into manageable systems, then solving them in an efficient and effective way, often using the principles of programming and systemic design. It encompasses a set of skills and techniques, such as abstraction (focusing on the important information only), pattern recognition (identifying similarities), decomposition (breaking down a problem into smaller parts), and algorithm design (creating a step-by-step solution). This approach enables individuals to tackle problems in a structured manner, making it easier to express ideas[3] as solutions that can be executed by machines.
Computational thinking is not only fundamental in the development of generative design systems, but it also enhances problem-solving across various disciplines, encouraging a systematic approach to branding, storytelling, composition, user-interaction and the development of dynamic identities.
Computational thinking fosters systemic design[2] by encouraging the decomposition of complex systems into manageable parts, enabling the analysis of relationships and interactions within the system. Being able to tap into this as both a mindset and a skill is critical to envision generative solutions.
Capture, recognize, and anticipate subjective relationships and patterns of a system holistically to translate them into objective rules. This way we can share them with man or machine.
Utilization of the extracted rules in order to apply them in a goal-oriented manner. This leads to the the separation of the creative act from the human being by transferring it to the machine. “Instead of solutions for programs, programs for solutions. ” (Karl Gerstner)
Combining system and programmatic thinking and their multifaceted systemic and programmatic influences within the context of making content newly comprehensible and staging it from a fresh perspective leads to a generative mindset.
Relevant quotes about
the topic of co-creation
„Computational thinking is an extension of what others have called solutionism: the belief that any given problem can be solved by the application of computation. Whatever the practical or social problem we face, there is an app for it. But solutionism is insufficient too; this is one of the things that our technology is trying to tell us. Beyond this error, computational thinking supposes – often at an unconscious level – that the world really is like the solutionists propose. It internalizes solutionism to the degree that it is impossible to think or articulate the world in terms that are not computable.“[1]
“But first, let’s try to define what we mean by ‘computational thinking.’ As far as I’m concerned, its intellectual core is about formulating things with enough clarity, and in a systematic enough way, that one can tell a computer how to do them. Mathematical thinking is about formulating things so that one can handle them mathematically, when that’s possible. Computational thinking is a much bigger and broader story, because there are just a lot more things that can be handled computationally.”[2]
“Computational thinking is really about thinking. It’s about formulating ideas in a structured way, that, conveniently enough, can in the modern world be communicated to a computer, which can then do interesting things.”[3]