Thursday, March 21, 2019

Why Should I Care about Computational Thinking?


Computational thinking can seem like one of those buzzwords that's hard to nail down a definition and explain to others. When it's hard to explain, sometimes we ignore it for fear of looking uninformed. I know I'm guilty of that when it comes to explaining why certain algorithms in math like inverting and multiplying fractions work. But even though computational thinking may have a multi-layered definition, you and your students (as well as society) will greatly benefit from working towards understanding and utilizing this problem-solving process. Just keep reading.

First, a simple Google search of "computational thinking" will yield a variety of results.
This image from the BBC will be one of the first you will see in an image search.

Here are a few definitions you will find.
  • Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out. (Wikipedia)
  • Computational thinking (CT) is a problem solving process that includes a number of characteristics, such as logically ordering and analyzing data and creating solutions using a series of ordered steps (or algorithms), and dispositions, such as the ability to confidently deal with complexity and open-ended problems. (Google for Education)
  • Computational thinking refers to the thought processes involved in expressing solutions as computational steps or algorithms that can be carried out by a computer. (K12cs.org)
  • The International Society for Technology in Education (ISTE) provides a multi-layered definition. I presented on this topic at ISTE 2018 and handouts are linked at the bottom 5 Top Robots for Computational Thinking:
Another one of my favorites is from Barefoot Computing. Although the definition isn't my favorite, I love using the infographic with students and in PD presentations.
  • Computational thinking is about looking at a problem in a way that a computer can help us to solve it.
  • Computational thinking is not thinking about computers or like computers. Computers don’t think for themselves. Not yet, at least!
  • Computational thinking involves 6 different concepts and 5 approaches to working:



So with all these complicated definitions why should we care about understanding and teaching computational thinking?

For me, it's like the next level of 21st-century skills. In my STEM classes, we have been focusing on the 4 Cs (Critical Thinking, Creativity, Communication, and Collaboration) plus Character. With each engineering or robotic challenge or lesson, we try to highlight one of these as the skill we are developing and utilizing. So for me, Computational Thinking encompasses the cognitive competencies (4Cs) and offers more. It breaks critical thinking into specific problem-solving processes (or concepts) which allows us to really describe and practice these strategies. We can understand that using decomposition will help us solve our drive the square challenge and that by looking for patterns we can make our code (algorithm) more efficient.

Computational Thinking helps students efficiently solve non-coding related problems as well.

Students putting on a play or wax figure museum, for example, would need to decompose the large event into smaller parts to define tasks to accomplish. They would then need to determine the algorithm or sequence of those steps. These same processes are also often used in math class when solving story problems or in algebra and geometry. In science when our experiment yields unexpected results students can evaluate to consider explanations and then debug by testing just one variable at a time. In daily life, students can find ways to use computational thinking to accomplish simple and complex tasks. I use this example with my students (also from Barefoot Computing).
I think computational thinking is so important because our global challenges are getting larger and more complex. We need a systematic way of thinking about them in order to go about solving them. While I do believe that all students should learn and practice computational thinking, it does have its limits. When using logic to solve a problem, ethics and human nature are not taken into consideration. We originally added character to our 4Cs (+1) goals for students because, without it, teams (society) can end up dysfunctional because they do not trust and respect one another. With the rapid advancement of technology and robotics, we need people that know how to program as well as make ethical judgments to consider whether we should be creating certain types of technology.
Just imagine what problems we could solve if Einstein and Gandhi were able to collaborate on our global challenges today! Maybe you can empower our future citizens, engineers, politicians, and computer scientists with the tools and hearts to solve these complex issues!





No comments:

Post a Comment

Popular Recent Posts