4.1 Teaching Computational Thinking through Coding
Image Credits: "Basette 08" by Virginia Department of Education on Flickr.com Links to an external site., CC-BY-2.0 |
The skills/steps of Computational Thinking (i.e., decomposition, pattern recognition, abstraction, algorithm design, evaluation) can be taught in many different ways across many different subjects. But one of the most common and effective methods to do so is by teaching coding.
How coding instruction is integrated into the curriculum tends to differ at the primary and secondary levels: In secondary education, coding (unlike computational thinking, which can and probably should be integrated at any grade level and within any subject area) would not necessarily be taught except in a specialized computer science class. In early childhood and elementary classrooms, however, coding instruction, like all other subject areas, would be folded in with the rest of the curriculum. For this reason, this module is intended specifically for teachers who intend to teach elementary or early childhood education courses.
What is Coding?
To code is to write lines of code for a computer program. Watch this video for a little deeper understanding.
Why Teach Computational Thinking and Coding?
Many believe that computational thinking and coding should be standard curriculum in our schools. Watch this video and review the reflection questions below to better understand some of those reasons.
Reflection Questions |
|
How to Teach CT through Coding
By this point, you’re probably thinking, “That’s all well and good, but how can I teach kids how to code?”
Image from Your News Local Links to an external site. |
It’s unlikely that you studied coding, or even computational thinking in school, and it’s even more unlikely that you have an extensive background in computer programming.
The good news is that you don’t have to have to be a coding whiz to help students learn these concepts. Teaching computational thinking is really teaching critical thinking, and chances are, you’re a pretty good critical thinker already. Computational thinking simply gives you a framework to organize that teaching as well as to improve your own critical thinking skills.
Since coding can be a fantastic vehicle for teaching CT skills, it’s also a great idea to get a little experience with coding and the wealth of resources available to help teachers teach their students how to code.
Completing the assignment for this module -- the Teaching Early Coding - Level 1 Links to an external site. badge -- will build on your understanding of computational thinking and help you learn five basic coding principles: commands, loops, nested loops, events, and conditionals. It will also introduce you to resources that can help you create activity plans to teach these coding principles in your classroom and integrate them with other academic subjects.
NOTE: As you complete this badge, pay special attention to the tutorials link at the top of the Badgr badge. It will guide you step-by-step through the process and provide additional information that is necessary for you to complete the assignment.
Resources to Get Started
As you complete your badge, you may find many of these resources valuable.
The following list is not exhaustive, nor is it intended to be. Rather, these links function as an entry point into the world of teaching code and computational thinking. Please visit each of the sites below to become familiar with them and know how to find more resources. You may even want to bookmark them for later use as a teacher! (Spreadsheet summary Links to an external site. of the following information).
Code.org Links to an external site. is one of the best go-to resources for teachers interested in helping their students learn computational thinking and coding concepts. Go to code.org/learn Links to an external site. to dive into the increasingly popular Hour of Code lessons, which feature coding games themed with kids’ pop culture (e.g., Moana, Frozen, Minecraft, Star Wars). Check out CS Fundamentals Unplugged Links to an external site. to see ideas for unplugged activities. Or, visit Beyond an Hour of Code Links to an external site. to learn about dozens of other coding resources. | |
Code Studio Links to an external site., a subdomain of Code.org, allows you to set up a classroom and assign a series of FREE lessons to your students, ranging from kindergarten to 12th grade level. Logins for younger students are simply their names and a secret picture, so they don’t have to provide emails, last names, or private information. Logins for olders students may be more traditional. You can also explore and compare third party educator resources Links to an external site. that similarly allow you to assign lessons to a classroom of students, although sometimes for a fee. | |
Kodable Links to an external site. is another great resource that teaches basic programming skills to students through games. Like Code Studio, you can set up a classroom (with appropriate logins for younger students) and assign lessons to students. Several introductory lessons are free, but you do hit a pay wall after a few lessons. Kodable is also available as an iPad app. | |
Dash and Dot. Created by Wonder Workshop Links to an external site., Links to an external site. Dash and Dot are innovative, interactive, programmable robots that connect via Bluetooth to any mobile device. Just download one of several free programs (the robots do cost money), and send your kids on quests to get the robot to move, shake, talk, and lots of other tasks. They are a great way to help kids see programming at work in a tangible, concrete way. | |
Scratch. Links to an external site. Created as a FREE TOOL by researchers at MIT, Scratch introduces kids to a versatile, block-based programming language (similar to that used by Code.org), which they can use to create stories, games, interactive greeting cards, and just about whatever they can imagine. Teachers can request account pages Links to an external site. to manage students accounts, projects, and assignments, or join ScratchEd Links to an external site., a professional learning community focused around teaching with Scratch. |
|
Scratch, Jr. Links to an external site. Very similar to Scratch, but for younger kids, Scratch, Jr. is a FREE iPad app that allows kids to learn coding and computational thinking concepts by just dragging and dropping. | |
CS Unplugged. Links to an external site. This website focuses on enabling teachers to teach concepts of computer science, computational thinking, and computer programming in classrooms without computer access. It contains lots of videos, a free book download, and over 20 activities to use in the unplugged classroom. | |
Computational Thinking for Educators. Links to an external site. An online course created by Google, focused on integrating computational thinking concepts into Humanities, Math, and Science. |