Computational Thinking
How our site works: Please click on the pull-down menu of the concept area in order to view each grade band. Click on desired grade band to view standards and aligned lessons.
Computational Thinking Concept Area
Computational thinking involves thinking about and solving problems in ways that can be carried out by a computer. Computational thinking not only underpins all theory and application of computer science, but also influences many other subject areas. Computational thinking includes both core concepts, such as algorithms and variables, and core practices, such as abstraction, decomposition, data analysis, modeling, and simulation, that are vital not only to the design and development of computer programs but also to the strategic use of computational power to solve problems across disciplines. The process of creating meaningful and efficient solutions, often done in collaboration with others, typically involves these steps: defining the problem, breaking apart large problems into smaller ones, recombining existing solutions, analyzing different solutions, using data to inform new potential solutions, and looking at information in new ways to develop innovative solutions.
Computational thinking plays an important role in supporting the creation of solutions to problems, both large and small. Algorithms, programs, simulations, and data are essential to all computing systems, empowering people to communicate and collaborate with others around the world. The standards promote development of foundational skills, knowledge, and experience to solve problems by creating solutions that utilize computational thinking concepts and practices.
Sub Concepts Areas:
Modeling and Simulation
Modeling is the process of representing a system to allow one to observe, understand, or simulate it. Models can be used to simulate real world phenomena that are not easy to observe or reproduce, and often generate simulated data that can further understanding of the system or make predictions.
Data Analysis and Visualization
Data analysis is the process of cleaning, transforming, organizing, clustering, and categorizing data to discover useful information, draw conclusions, and aid in making decisions. Data can be visualized in a variety of ways (including graphs and charts) to aid in and communicate the results of the analysis.
Abstraction and Decomposition
Abstraction is the process of reducing complexity by focusing on key elements. The study of a complicated system often starts by simplifying it and addressing just the most important parts. Complex computer programs also rely on abstraction to isolate particular routines or tasks, especially if those tasks are common. A programmer can then call on that routine, often written by others, without needing to understand its details. Decomposition is the process of strategically breaking complicated problems or tasks into smaller parts that are simpler to understand, program, and debug.
Algorithms and Programming
An algorithm is a sequence of steps designed to accomplish a specific task. Algorithms can be translated into programs, or code, to provide instructions for computing devices. Algorithms are central to programming. Programming is the process of designing and developing code to perform a specific task. It includes the transformation of an algorithm into a specific language that a computer can read and execute, testing code under controlled conditions to ensure its accuracy, debugging the code to resolve errors, and producing documentation both for end users to understand how to use the program and for other developers to assist in following the logic within the program.