Our definition of computational thinking involves three key dimensions:
- Knowing certain computational concepts.
- Being able to employ those concepts using computational practices.
- Developing new computational perspectives, an awareness of self, others, and world.
Computational Concepts
| Concept | Description |
|---|---|
| Sequence | Identifying a series of steps in a task. |
| Loops | Running the same sequence multiple times. |
| Parallelism | Making things happen at the same time. |
| Events | One thing causing another thing to happen. |
| Conditionals | Making decisions based on conditions. |
| Operators | Support for mathematical and logical expressions. |
| Data | Storing, retrieving, and updating values. |
Computational Practices
| Practice | Description |
|---|---|
| Experimenting and Iterating | Developing a little bit, then trying it out, then developing more. |
| Testing and Debugging | Making sure things work - and finding and solving problems when they arise. |
| Reusing and Remixing | Making something by building on existing projects or ideas. |
| Abstracting and Modularizing | Exploring connections between the whole and the parts. |
Computational Perspectives
| Perspective | Description |
|---|---|
| Expressing | Realizing that computation is a medium of creation. "I can create." |
| Connecting | Recognizing the power of creating with and for others. "I can do different things when I have access to others" |
| Questioning | Feeling empowered to ask questions about the world. "I can use computation to ask questions to make sense of computational things in the world." |