Computational Thinking 101

What is computational thinking?

Computational thinking is learning to think like a computer, and it is easier than you might think! Computational thinking is the ability to objectively analyze and evaluate a complex problem, develop possible solutions to the problem, then format these solutions in a way that a computer – or a human – could understand and carry out. It describes a method of investigating, acquiring, and applying knowledge through various concepts and approaches outlined in the figure below. Most importantly, computational thinking does not have to be intimidating or involve a computer; the fundamental problem solving skill can be easily learned through a series of interesting and engaging steps or activities.

Core steps to computational thinking:

Breakdown a problem

  • Take a large and complex problem, and break it down into smaller, more manageable problems or steps

Look for patterns or trends among the problems

  • Identify or generate data which is useful to the problems


  • Remove unnecessary detail from the problem

Format a general solution

  • Once the problem is broken down accordingly, take those pieces, solve them individually, and put them together logically into a complete solution

Analyze and evaluate the solution

  • What new insights do you have based on the solutions to your problem?


Image courtesy of Barefoot Computing.

Why is it important for grades K-12 students to learn computational thinking?

Technology is constantly evolving and changing the way we do things, including the way we communicate with our loved ones, how we carry out research for a school project, and the way we manage businesses. By teaching computational thinking to young students, we are providing them with the essential and fundamental skills to become lifelong learners and, eventually, setting them up for success in the modern workforce. Computational thinking can be applied to nearly any job and any sector. The ability to solve problems, critically analyze information, communicate and think creatively and beyond the current method of doing things, are invaluable skills in our fiercely competitive and ever changing digitally-powered world.

How can we teach computational thinking to grades K-12 students?

Callysto is an all-in-one educational platform built on Jupyter technology that will help students develop computational thinking skills, while they also learn traditional, curriculum-based course content. Though its interactive learning modules, Callysto integrates computational thinking, coding and data literacy into everyday curriculum across all subject areas. Callysto’s learning modules build rich learning experiences that apply core computational thinking elements directly like algorithm design, decomposition, abstraction and pattern detection. Callysto modules also enable teachers and students to apply, tinker and iterate on their creative thinking and problem solving in their own local environments without impacting others. They are designed around the idea of “literate programming”, meaning that it is possible to explain not only your code, but the underlying theory, directly in the module itself. Users do not need to know code to use Callysto or to learn computational thinking, they can be passive consumers and still benefit. Computational thinking can be learned in a way that is understandable to teachers and students who have little to no coding experience, but at the same time, underlying routines involving code are available in Callysto for those who wish to further explore the program’s technical capabilities.