This is the second installment of a three-part guest post series from Technology Integrationist Angie Kalthoff analyzing computer science in the K-12 education system. Read part one: Are We Too Late For Computer Science Education?
Stop me if you’ve heard this one before.
“I can’t teach computer science because I’m not a computer scientist.”
That statement may seem valid, but it's inconsistent with our views on other subjects.
Do you have to be a mathematician to teach math?
Or a published writer to teach someone how to write a sentence?
Or a historian to teach students about the Civil War?
Any teacher can incorporate computer science into curriculum. I’m going to tell you how.
People always talk about how kids should learn how to code. Yes, but it’s more important to introduce computational thinking to students at an early age. Computational thinking is not coding or computer science. It’s important to know the difference.
In the simplest terms, computational thinking is taking big problems, breaking them down into smaller problems and solving them.
This excerpt from Digital Promise’s “Computational Thinking for a Computational World” explains the differences.
“Coding is the practice of developing a set of instructions that a computer can understand and execute.
Computer science is the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications and their impact on society.
Computational thinking is ‘a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science.’”
Computational thinking in the classroom
Look at the standards we are already teaching, then design learning experiences that tie in computational thinking concepts and approaches.
Don’t build lessons around a cool coding platform or fun robots. Build lessons around the ideas, and use the tools for hands-on investigative exploration.
You can categorize lessons in two ways:
Plugged lessons require student access to a device like a laptop, Chromebook, iPad, tablet, etc. Many plugged lessons involve block-based coding platforms to help students learn computer science concepts. Code.org, Kodable, Scratch JR and Scratch are a few of my favorites.
These resources allow students to collaborate on pair programing lessons. Pair programing in an app like Scratch JR teaches valuable computational thinking skills as students create programs for characters to move across the screen. Students learn to spot patterns and remove unneeded information (abstraction) as they evaluate the efficiency of their programs and fix mistakes (debugging) that occur.
Unplugged lessons do not require students to access devices. Sites like CS Unplugged, Kodable’s lesson library and the unplugged lessons in Code.org’s CS Fundamentals help make real life connections around new concepts.
Computational thinking can be a foundational element of unplugged lessons.
For example, planting a seed or making paper airplanes teaches students about “real-life” algorithms. Have students learn programing by turning their friends into robots or teaching a robotic turtle how to access a jewel.
Challenge your students
Here’s a simple unplugged lesson that you can challenge your students to solve with computational thinking.
Suppose you have a friend with dirty hands. To help your friend, you need to:
- Decompose the problem (dirty hands = problem)
- Break down the steps required to successfully wash their hands by creating an algorithm for them to follow.
If the friend had never washed his or her hands before, you couldn’t simply say “wash your hands.” You would need to provide step-by-step instructions.
This lesson and others like it require children to think about the way they think. It’s an easy way to introduce the concept of computational thinking.
In the third and final post in this series, I will dig deeper into lessons, share plans and provide valuable advice I've learned from my experiences working with teachers in the classroom.