Computational Thinking

Solving Problems Like a Developer


Our definition of computational thinking involves three key dimensions:

  1. Knowing certain computational concepts.
  2. Being able to employ those concepts using computational practices.
  3. 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."