Defining Computational Thinking (CT)
Computational thinking is a process used to create solutions to complex problems that on the surface seem too difficult to solve. There are different approaches to identifying this process. Some have twelve elements, and some have nine elements. Here, the focus is on four essential elements. These four essential elements are common to solving all complex problems.
Everyday Examples
People employ computational thinking almost every day; although, it’s probably not intentional. If it were intentional, tasks might become more efficient and effective. For example, you and your friends are deciding what you will do when you get together. You consider the data about weather, past excursions, new excursions, money/ cost, time constraints, and interest. The employment of CT to reach your solution might save you time and money, as well as ensure the maximum amount of enjoyment. Another example could be determining the strategy used to play and win a game: i.e., items to collect, opponents to beat, places or portals, optional paths, time constraints, etc. Computational thinking occurs most often and with the most intentionality, when solving complex problems.
The Essential and Common Elements
When considering a process for developing solutions to complex problems, common essential elements in thinking emerge. Decomposition, the ability to break the complexity of a problem into simpler parts, is the first of these essential elements. Deciding which parts to discard, with respect to possible solutions, usually occurs next. This essential element is called abstraction. There are two main aspects of abstraction: (1) the removal of detail and complexity from a problem that might obscure a possible solution, and (2) generalizing a problem to see ONLY what is critical to creating possible solutions. Abstraction often includes data collection, analysis, and representation. (Data collection, analysis, and representation are essential and common elements to math and science instruction and are often not isolated in the context of CT.) When exercising these elements of data, pattern recognition is engaged. Patterns and trends emerge while analyzing data, and the parts of the problem in relationship to the data. This often allows for further abstraction, data collection, and/or the emergence of possible paths to solutions. The development of the solution steps, or the logical order in the solution process, is called algorithmic thinking. NOTE: When the CT process is used in computer science, elements like automation and simulation are common and essential to success. Creating a mathematical model would be considered a simulation and using a motion sensor in physics might be automation; although these elements are not common in everyday problem solving.
Tips for Implementation:
To learn more about computational thinking, explore the lesson and tools library. Contact us if you need additional support.
Tips for Implementation:
- Ensure the problem(s) presented to students is complex. The problem should be difficult to define, have multiple parts, and contain integrated content. Real world problems or student selected problems work well and ensure relevance and engagement.
- Make productive struggle a norm and not an exception. Allow students to get stuck and persevere – encourage collaboration but, ensure methods for individual accountability. Model this for students (the “stuck on an escalator” video is a good one for introducing problem solving: https://youtu.be/VQVnx2KERvw)
- BE sure to include reflection time for data and for the entire processes. ENSURE students have an opportunity to reflect with each other (data and process).
To learn more about computational thinking, explore the lesson and tools library. Contact us if you need additional support.