November 21, 2017

The Advocate's Toolbox

Coding Skills Empower Us All |The Maker Issue

Illustration by Marco Goran Romano

Illustration by Marco Goran Romano

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.

Why code?

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

or this:

2 C6H5COOH + 15 O2 = 14 CO2 + 6 H2O

or this:

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:

print(‘Hello, World!’);

…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.

This article was published in School Library Journal's May 2015 issue. Subscribe today and save up to 35% off the regular subscription rate.

Chad Sansing About Chad Sansing

Chad Sansing (csansing@gmail.com) teaches middle school language arts in Staunton, VA.

Share

Comments

  1. Douglas Drummond says:

    I have a slightly different take on this because I have been coding for slightly over 50 years, starting in 1963 when I took an non-credit after-school class on data processing. Later that year I started programming in college at an engineering school. Coding is a necessary skill for me as an electronics and computer computer engineer. I still write programs, mostly for my mental health.

    My issue with “Coding in General” is that it takes a special way of thinking to break up a problem into small enough parts in order to program. For example take the statement: { x = x + 1; } It’s an absurd concept in algebra so it takes a slightly different way of thinking that it means: First take a memory location we all ‘x’; add one to it, then store it back in the memory location called ‘x’. It has been said that you need to be a certain kind of “crazy” to be good at programming. Some people believe that this requires a form of autism or “Asbergers” that allows a good programmer to think both “smart” and “dumb” at the same time as well as “hyper-focusing” on the problem.

    On the other hand, computers are here to stay. My Timex(R) watch has more computer than the college’s main (and only) computer in 1963. I am probably biased, but I consider programming an important skill that everyone should have to some extent.

  2. Eric J. Zuckerman says:

    When we teach a student to read Shakespeare, is it because memorizing his works are important? Or, is it to learn to interpret writings from a different time and to appreciate how the story/meaning is still applicable now?

    When we take a math course and learn differentiation, is it to be able to do differentiation later in life? Maybe, but it’s more likely that understanding the concept of differentiation will train you to think differently.

    Coding is exactly the same. It’s not the skill writing code and making a career out of it that is the goal, it’s the alternative way of approaching a problem and interpreting information that is important.

    In your article, you correctly identify the thinking is important. You also ask where coding might fit in the curriculum. The problem, as I see it, is that the curriculum is filled with memorized facts and has very little to do with creating thinkers and lifelong learners. Why? Because it’s hard to measure thinking, but I can measure how many facts you currently know.

    Let’s hope that a change will come where education becomes less of a contest about how our nations do on standardized tests and transition to something that teaches ideas, concepts, thinking and problem solving.