Posted: Fri, 02/01/2019 - 11:34
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)
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:
- BBC Bitesize has good introductory information available
- Integrating Computational Thinking into Your Elementary Classroom
- Teaching Social Justice and Computational Thinking
- Google offers a free online course for educators with ideas for integrating computer science into the curriculum
- How to Develop Computational Thinkers
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.