We’ve all seen the hashtags: #code, #coding, #HourofCode, #LearnToCode, #programming. Code is trending in education. So is the pushback against it. For every proponent of computer progamming in schools, there’s a skeptic who asks whether or not we really need to teach everyone to code.
Some other questions from the skeptic: Where does code fit in the school day and a traditional curriculum? Will it be on the test? Who will teach it? Which ed school is graduating our first cadre of teacher-programmers? What about the kids who aren’t going into specialized tech fields—why do they need to know about it?
We’re not coding in schools to make sure every kid gets a job in technology; we’re doing so to give all kids the chance to understand and interact with the technologies—including the social ones—in their lives.
What is coding?
Coding describes a wide range of behaviors in which we solve a problem by writing procedural steps for a person, computer, or machine to follow. For example, we might code a program that helps us grade papers on a work day: five papers, stretch break, five papers, coffee break, five papers, lunch.
We might code a website that showcases our professional accomplishments with separate pages for teaching, writing, and extracurriculars. Or a robotic arm to measure and pour an exact amount of a liquid into a beaker in science class.
All code is about instructions, but the details of how it gets written change from platform to platform. Generally, people are great at giving one another instructions because we can infer what to do from several different ways of saying the same thing: Hand me that. Give me that. Toss that over here. Could you bring that to me?
Computer software is much more literal, requiring code to be a tangle of nested elements and punctuation we seldom see outside of textbooks. Computers need that structure to tell what goes where and each bit of code to be named precisely. Whereas I could ask you to hand me a “cup” or “mug” interchangeably, if you describe a cup to a computer, it will have no idea what you want later if you ask for a mug.
Coding is a lot like gaming, maker pedagogies, and project-based learning. The more we play games, the more we learn to draw from them for class. The more we make stuff in class, the more things we think of making for learning. The same is true for coding—the more we mess with code and read it, the more opportunities we’ll find for its meaningful use.
The coded device is and will remain a part of kids’ lives and their future work. “Beyond helping young people in their career choices, coding knowledge gives them opportunities to be fully engaged in our democracy as we enter an era of big government data, available at the most local of levels,” says Paul Oh, senior program associate at the National Writing Project. “The converse—an inability to code—only widens the participation gap, with all that implies racially and socioeconomically.” If we don’t use code and other participatory ways to interact with technology in our classrooms, students will never own it as a learning tool—they will be owned by it.
Learning to code can be a blast. Writing it can give students a feeling of empowerment and control over their lives, digitally and offline. Moreover, coding is something we can do in low-fi, high-fi, and even no-fi environments. We can remix or write our own code—or code simple things, like toys, and more complex things, like calculators. We can code web portfolios and video games—and think things through step-by-step to solve larger, real-world problems.
A different type of learning
Coding and other forms of student-driven maker education in our classrooms serve as antidotes to the strictures of a test-based educational system. Coding gives us a way to write and build with students that requires close attention to detail, creativity, problem-solving, and an appreciation of failure as a constructive step forward. Rote repetition of content knowledge and ways of knowing—such as the three-to-five-page essay and flash cards—simply do not ask as much of us, nor do they help students develop the determination to puzzle through messy, novel, relevant problems typical of life outside of school.
“Students need to start trying their hand at coding and all kinds of online production in K–5,” says Melissa Techman, school librarian at Albemarle County (VA) Schools. It “allows them to acquire the habits of mind involved in being good communicators and information designers.”
“In the library, coding is both a hands-on maker opportunity and a perfect fit with new media literacy standards,” Techman adds. “We are no longer just talking about genre, format, purpose and audience with books; we’re analyzing methods and messages in webtoons, animations, websites, and videos. We’re assessing how things fit, and what usability is.”
Reading, writing, and coding
In fact, all of us already code every day. Whenever we follow directions or come up with our own way of doing something, we are running programs for life. However, we seldom take the time to unpack what we do, articulate it, test it for bugs, or improve it. If we can help all of our kids at least sample coding, we can allow them to see normative codes around them—the rules at work in their lives, schools, and communities.
Coding shouldn’t be a siloed discipline, any more than reading, math, or any area of study should be. Instead, coding, like all work in schools, should become more connected, productive, and generative than our work is now. After all, if we really aim to educate the next generation of “critical readers”—if we’re really all about the “rigor” and “grit”—and if we’re already willing to ask our kids to decode this:
y= ax2 + bx + c
2 C6H5COOH + 15 O2 = 14 CO2 + 6 H2O
Before you know what kindness really is
you must lose things,
feel the future dissolve in a moment
like salt in a weakened broth.
—from “Kindness” by Naomi Shihab Nye
…then there’s no reason to fear this coding command:
…or decline to think about how it fits into our work.
The more we code
Too often, we spend our days teaching kids to recognize things they rarely see outside of a school textbook or test. The more we code, the more code we’ll be able to see, own, and create in service of our children and ourselves. It should be something we do, rather than another thing done to us. Agency and ownership are the ultimate ends of coding—as they are in all education.