By: Guest Blogger
In today’s technology-driven world, the role of the student is changing. Teaching used to be focused on learning facts, but now we are changing how we teach so that students can do more than just learn information…they use the information! Students today are less fact-memorizers and more innovators, creators and thinkers. They are learning to think outside the box and apply that to real-world problems. Because of this, we have seen a recent influx in the last four to five years in the amount of “computer programming” seen in both elementary and secondary schools.
Computer programming allows students to learn programming languages, which are integral to many jobs of the future. Programming (also known as “coding”) allows students to learn skills like explanatory writing, problem solving and a plethora of other skills applicable to the real world as a 21st century student. It also lets students refine their mathematics abilities. With coding, students are using computers to create worlds where only their imaginations can limit them.
Computational thinking is a cornerstone in all coding programs today. This step-by-step cognitive strategy is important for students to learn in order to become successful. It is a method that teaches students to think as if they are computers. With computational thinking, students are taught how to approach new information and new problems. Trust me…this strategy is not just for computer science classrooms! It is broken down into four steps: decomposition, pattern recognition, abstraction and algorithms.
Decomposition is when you break something down into its basic parts. This is an important skill because it teaches students how to become better learners by breaking large pieces of information into small chunks. It’s like taking small bites of a steak instead of trying to eat the entire steak in one gulp.
Pattern recognition is when students find order to something and then analyze (follow) the pattern to the logical answer. Pattern matching teaches students to look for commonalities between things. Then, once students see what is the same in the problem, they also can look for differences that might lead them toward an answer.
As humans, we tend to search for patterns in things in order to make sense of them. I find that this step is the easiest and most natural to teach to students. We teach children to sense and continue patterns from an early age.
Abstraction is taking the differences that students have found in the last step (pattern recognition) and then discounting them because they didn’t fit the pattern. Abstraction is important because students typically assume that all the information they have been given in a problem is typically going to be used to solve the problem, which isn’t necessarily true.
Removing unfit or unhelpful information is truly a valuable skill for students to have. It’s not only teaching them to double check information; it’s also teaching them to edit themselves and look for true solutions to a problem.
An algorithm is basically a list of procedural steps to complete a task. With this process, after figuring out the problem, students create steps to solve the problem set before them. Students should be able to write algorithms so that anyone can follow their directions to complete the task or solve a problem.
Why the computational thinking method?
As a K-6 computer teacher, I was first introduced to the concept of computational thinking through the Code.org curriculum that teaches computer science skills to students in grades K-5. Since then, many more learning modules have been added to cover more grade levels, but the foundational skills remain the same. All of my computer science students in grades K-5 learn the basics of computational thinking as well as giving step-by-step directions (algorithms) with this program.
I can honestly say that the first introduction to this lesson was difficult for even my higher level of students. As educators (myself as well), we tend to give students problems without teaching the method of problem solving explicitly. This method not only helps students with math and science challenges, but it helps them to become better thinkers across the board. Additionally, teaching students this cognitive strategy gives them something (in my experience) that is lacking in education today: dedication. The steps involved with computational thinking help students to “keep working” or “keep trying” to solve a problem. Our society tends to deliver information and solutions at the speed of light, so our kiddos aren’t used to sitting down and working toward a solution for an extended period of time — or sitting down and working at a problem that takes longer because it could have multiple solutions. Dedication and conviction to one’s work is most definitely a skill of the 21st century.
Why the four steps?
After teaching this method for a few years now, I have found that my students are much more detail oriented because they have learned how to decompose a problem. Breaking a problem into parts allows students to better explain their thoughts and ideas to both myself and each other. In that way, students also turn into better explanatory writers. This also is true for the algorithm step in the process. Breaking down a problem (decomposing) and then turning it into directions (algorithms) are key skills that can be used across subjects.
Additionally, the concepts of pattern matching and abstraction are ideal for an educational setting, especially when you understand how the brain works. When we learn a new topic, we put it into a category in our brain (activate a schema/prior knowledge). This is like pattern matching — we are looking for other things with the same pattern somewhere in our memory bank. Research says that activating schema helps students understand and remember information better because it fits into a pattern or category we already comprehend. In this way, I believe that teaching students to pattern match and abstract teaches them to put things in categories in their brains so that they cannot only comprehend and remember the problem at hand, but they can process it easier as well.
Below I have listed some links for resources on this concept. Check out the Code.org Lesson on Computational Thinking as an introduction. There is an accompanying video that helps to explain the concept very well!
Teachers Pay Teachers Products
Children’s Literature (K-5)
Megan Brannon is a K-6 computer teacher at Garaway Local Schools. You can contact Megan by clicking here.
Leave a Comment