Blog Post

Teach like a computational thinker

Are your students developing computational thinking skills?

Dr. Jeannette Wing’s 2006 essay titled Computational Thinking became a guiding resource for me as I transitioned from an educational technologist to a computer science educator and worked to develop my philosophy for computer science education. Her essay is worth a read if you are not already familiar with it. Dr. Wing writes in her essay that computer science is more than just coding and the computational thinking required is a skill relevant beyond computer science. As Wing describes, “computational thinking involves solving problems, designing systems, and understanding human behavior by drawing on the concepts fundamental to computer science.” (Wing, 2006)

JV January 1
Lego Art Algorithms.


There are many different definitions of computational thinking, but most of them include these cornerstones:

  • Decomposition involves breaking down a complicated problem into smaller, more manageable steps. One of my favorite lessons to explain decomposition is a design-your-own-personality-quiz project. It’s a great way to sneak in a meaningful conversation about the tradeoff between social media, entertainment, and privacy. Students get to choose a theme, design their own quiz, consider the logic that will lead to appropriate results, then write Python code to create an interactive digital quiz.
  • Algorithms/Algorithm Design involves developing a step-by-step solution for solving a problem. I often introduce algorithms using this Lego art class warm-up.
  • Abstraction involves focusing on important information and ignoring irrelevant details. Search Barefoot Computing for some great ideas for teaching abstraction.
  • Pattern recognition involves looking for similarities among problems. Gapminder, Google Public Data and this data visualization article all provide interesting data for students to consider. Students can look for similarities and repeating data points, and make inferences about the patterns they find.

Here are some additional free resources:

How do you teach computational thinking?

What are some of your favorite lesson ideas or resources?

*Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.


Jenn Vermillion is the Director of Innovative Learning at St. Catherine’s School, an independent school for girls age 3 through grade 12 in Richmond, VA. She teaches an introduction to computer science course for students in grades 9-12 and an 8th grade Creative Technologies course. She also coaches a 4th grade Robotics team and coordinates school-wide professional development. Jenn welcomes your comments and questions at



Profile picture for user ashewaring
Submitted by Ashley Waring on Mon, 02/04/2019 - 11:15

Thank you for sharing this! I hadn't heard of this essay and look forward to using this new knowledge in my work.


Profile picture for user
Submitted by Vicky Sedgwick on Sun, 02/10/2019 - 14:11

Your Lego Art Warm Up needs a permission change so people can see it. 

In reply to by Vicky Sedgwick


Profile picture for user
Submitted by Jennifer Vermillion on Tue, 02/12/2019 - 11:16

Thanks, Vicky! The link should be accessible, let us know if you are not able to view.