Coding in Every Classroom
First graders huddle around a floor map. A Kibo robot stands in the center. The students line up wooden blocks decorated with icons, scan each block, and watch as the robot marches up and down the map. The robot stops at different locations — hospital, school, store. The students program it to perform an action related to each place.
Working with Kibo is teaching these first graders how to write computer code. The typical image of coding — feverish typing that produces unintelligible lines punctuated by parentheses and semicolons — is years down the road for these students. At the elementary school level, explained Hadi Partovi, co-founder of Code.org, there’s no typing. Instead, students put commands in order, either using blocks, or an app or computer program. Then, students press “run” to see their commands executed in order, creating a story or visual application.
Computer programming has been in many curricula for years. Today, the conversation is about expanding coding to the youngest students, as well as to students who are underrepresented in the tech industry.
The youngest programmers
Programs such as Kibo, Scratch Jr., and Code.org’s Hour of Code have expanded coding into the youngest grades with activities and lessons that are developmentally appropriate for young learners. It’s not about building websites, but about teaching abstract thinking, problem solving and critical thinking. “Our belief is that if students understand how to break problems down, it doesn’t matter what language they’re using, that’s going to be helpful in any walk of life,” said Ryan York, director of computer programming instruction with RePublic Schools in Nashville, Tenn.
The next generation of programmers
Stereotypes about who is “good” at STEM are already forming by fourth grade, so teaching students coding in grades K-2 helps redefine who can “do” coding. “Women make up about 18% of the programming community,” said York, and the percentage of minorities is even smaller. Organizations are approaching the challenge of equity by training teachers and providing free resources, and students are responding. In Code.org’s courses, 40% of students are girls, compared to about 20% in traditional computer science courses.
Four reasons to bring coding into your classroom, and how
1. Teach 21st century literacy
Why: Using computers and writing code go hand-in-hand. “Coding is learning how to read and write in today’s world,” said Marina Bers, professor at Tufts University Department of Child Study and Human Development. When students know how to use computers, it’s like knowing how to read; coding teaches them how to write.
How: Participate in Code.org’s Hour of Code (held every December) to introduce students to the big-picture ideas about coding and the work of computer programmers.
2. Reinforce content
Why: Students used to go to the computer lab for technology class, said Bers. Now, it’s about integrating technology into whatever students are learning, so programming is one tool students use. For example, in Code.org’s course, students apply their knowledge of angles to write code that draws stars.
How: If you’re new to computer programming, you’re not alone. Check out the resources on RePublic Schools’ site: ComputerScienceLessons.com, for a step-by-step process that will prepare you to teach coding. Once you’re familiar with the basics, check out Kodable, Scratch Jr., and other great websites to bring coding into the classroom.
3. Flexible thinking
Why: When Maggie Powers, technology coordinator at The Episcopal Academy in Newtown Square, Pa., has students write a piece of code, they inevitably come up with more than one way to get the same result. Writing code teaches students just how malleable communication can be.
How: When Jaimie Binnings’ students code, she wants to jump in and show them how she solved each problem. But, every time she started to make a suggestion, her students found a way that was different than her idea. “As teachers, we need to be able to step back and let the kids show off what they can do,” said Binnings, a second-grade teacher at Stone Creek School in Roscoe, Ill.
4. Learn to fail
Why: Of course, students will make mistakes. There are inevitably going to be bugs in code, said Powers, and “that’s a great place to talk about getting stuck and having a growth mindset.”
How: Take failure as an opportunity. When a piece of code doesn’t work, explain that this happens to all programmers, then look back through the code to figure out what went wrong. Finally, apply that to other subjects. When students make a mistake in math class, have them go back through the problem to try and find the bugs.