Computer Science involves “the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society” (Tucker, 2006). The types of skills that underpin the work that computer scientists do are referred to as Computational Thinking. There’s a common misconception that computational thinking is limited to coding or programming — but the thinking processes and approaches that help with computing are also useful in many other domains.
Let’s BUST some of the common myths related to computational thinking:
Myth #1: It’s just about computers.
BUSTED: Although computers can be used to help solve problems and support students in becoming computational thinkers, limiting computational thinking solely to the use of computers is an oversimplification.
Myth #2: It’s the same thing as math.
BUSTED: Mathematics in school is about solving traditional math problems, whereas computational thinking is about using problem solving strategies to generate solutions that can be automated.
Computational thinking involves problem decomposition: the process of breaking a problem into manageable parts. This allows us to find the most effective ways to solve problems, and also allows problems to be tackled by a team working together. Computational thinking involves problem solving strategies that– among other skills — include algorithms, abstraction, and automation.
Algorithms involve identifying and planning the steps or rules for completing a project. For example, students might write follow instructions for playing a piece of music, completing a recipe, or conducting a collaborative project (such as a play or research project).
Abstraction is the process of reducing a complex problem or concept to its bare essence. For example, in building a model of the solar system, students would create the planets, but not all of the stars. Other examples of abstraction include summarizing a story or playing the game 20 Questions, activities that encourage learners to focus on essential details.
Automation is the use of digital tools and technology to automate the solution to a problem in an efficient way. For example, students could simulate the stock market, engage in historical reenactment, or use NetLogo (free software) to manipulate variables within, or to create, a simulation.
CSTA and ISTE identify 9 core computational thinking ideas for K-12 classrooms that include: data collection, data analysis, data representation, problem decomposition, abstraction, algorithms & procedures, automation, parallelization, and simulation (as illustrated in the image below):
Computer Science Clubs
Courses for Educators
Teaching Resources & Activities
- MAET’s Computational Thinking Carnival
- CS 4 Fun
- Google for Education CT Materials
- Interdisciplinary Computational Thinking
- Games to practice CT Skills
- PhET Simulations
Tucker, Allen, (2006), Deek, F., Jones, J., McCowan, D., Stephenson, C., and Verno, A. A Model Curriculum for K-12 Computer Science: Final Report of the ACM K-12 Task Force Curriculum Committee. Association for Computing Machinery (ACM), New York, New York.