April 25, 2018

The Advocate's Toolbox

Going Rogue to Teach Code: A school librarian offers strategies for teaching every age group

Two of Addie Matteson’s coding students designed this “Roblox”
website to teach people about Internet safety.

In this article:

Coding Resources

I am a school librarian who has been teaching coding for a little over six years. In my first job with elementary school students, coding was like a game. I collaborated with our tech teacher to introduce students to coding logic using Kodable, Hopscotch, and Daisy the Dinosaur. Once a week, I dropped in on a fifth grade class to teach them to create games and animations using Scratch. I purchased an array of robots for the library: Ozobots, Dash and Dot, and Spheros, all of which brought coding to life by enacting the programs students wrote for them. Once a year in December, the tech teacher had every student in school participate in Hour of Code. These efforts aimed to show our students that computer coding is fun—and something everyone can do.

But I’ve always had a nagging question in the back of my head: What comes next—after Hour of Code, Scratch, and Kodable? Once we inspire our students to love coding, how do we transition them from the safety of block-based languages to the kind of coding that solves real-world problems? I had to cast around for some answers. Despite the spotlight on K–12 STEM and computer science (CS) education, the number of college students graduating with education degrees in CS totaled only 75 in 2016, according to a Medium.com article posted by Code.org. For the most part, we rogue librarians and teachers are it for now.

There are some intangible reasons to teach kids to code. Reshma Saujani, founder of the organization Girls Who Code (GWC), stated in her keynote at the 2017 ISTE conference that one benefit to having girls code is that it provides a safe space in which they can face failure and work through it. Code.org shares the goal of bringing more girls and other underserved populations to computer science. Students who learn to code, even if they never use the skills again, absorb computational concepts such as sequencing and debugging, as well as a deeper understanding of their world.

Charles Severance, aka Dr. Chuck
Photo by Jay Jackson

Teaching young kids

At the elementary level, where the primary goal is exposure to computational thinking and concepts, educators make use of a wide range of tools—some purchased, some free. They’re built to teach students how programmers think and solve problems. Block languages allow kids to create programs without the worry of forgotten semicolons or other syntax errors. Each app or program gives them the opportunity to create something fun, like a game, that is contained completely within an app.

Some apps, such as Swift Playgrounds, Scratch Jr., Hopscotch, and Daisy the Dinosaur, are designed specifically to work with the unique controls of a handheld device. Scratch, Code.org, and Kodable function on a variety of platforms, and all have built-in ways for teachers to manage their classes. They provide for the perfect introduction for elementary students. But the games are really only the beginning.

Kodable founder Jon Mattingly, who developed the product in an effort to make teaching code easier, is the first to admit that these programs have limits. “Computer Science has a problem. In the past few years, educators have been hoodwinked by flashy games and deceptive messaging into believing that students could be ‘taught to code’ by letting their students play a game for an hour,” he wrote in a blog post launching a set of Kodable-developed teaching standards. “Unfortunately, like in every other subject, this isn’t the case. No, you cannot teach your students computer science with just a game.”

The standards align with the Kodable game, and the learning goals are embedded within it. This is Kodable’s way of helping teachers transfer the learning from the game to the other subjects that students study.

Moving away from toy stuff

That kind of transfer becomes essential when students get to middle school. According to University of Michigan School of Information associate professor Charles Severance, aka Dr. Chuck, this is the time to transition away from the “toy stuff,” including Scratch and Hopscotch. But he warns that the transition is “lumpy.” Moving too quickly will result in driving frustrated students away from coding. He advises aiming for “absorption and retention.”

The transition isn’t any less lumpy for high school students. Lorraine Scaffidi, a New Jersey school librarian who began teaching a high school coding elective this year, says that some of her students aren’t used to the kind of thinking required to write code. They tend to give up quickly or just ask for the solutions, and they get bored easily with the block languages. She decided to use their limited time and resources on a language that would be useful to them in college, and they’re now learning Python via the CodeHS curriculum.

Eliot Kaplan, who teaches Advanced Placement Computer Science at the Westminster Schools in Atlanta, says his students struggle at times with the kind of thinking required to code—specifically, accepting failure as a part of the iterative process. The Computer Science Advanced Placement exam, which focuses predominantly on Java, doesn’t seem to help. Both Kaplan and Dr. Chuck express frustration over an AP exam that they think is, at best, an ineffective teaching tool and, at worst, convinces students not to pursue computer science. Kaplan loves having his AP students return to take an advanced elective the following year, when he can have more fun with them.

There’s a shared mission between coding teachers and those who develop the tools they use: All kids should learn how to code, and they need to be learning it at every grade level. But that mission faces challenges, namely time and skill. It also takes time to learn this skill well enough to teach it.

Scaffidi, who isn’t an expert coder, worries about what will happen when her students know more about Python than she does and when she will no longer be able to help them. My own students outstrip me almost immediately. My eighth grade coding elective is project based, and final projects are completely student driven. Some create websites; other students program simple video games. These projects required multiple skills and languages, such as JavaScript Arduino, in which I am not proficient. At this point, I’m comfortable with saying, “I don’t know; let’s find out.”

Find support

Fortunately, more resources are being developed to help teachers. Code.org has a robust professional learning network and program. Dr. Chuck, who is on a mission to reach as many educators as possible, has constructed several MOOCs (Massive Online Open Courses) available via the University of Michigan on Coursera. His hope is to provide adults with the skills for an entry-level programming job through the fewest courses. Scaffidi prepared to teach her own coding class by taking Dr. Chuck’s “Python for Everybody” course.

Don’t write off the “toy stuff” like Kodable, Hopscotch, and Scratch. Use them as a springboard. “For me, the connection between Scratch and computer science is very clear and personal,” Sarah Otts, an online community developer for Scratch, wrote on Medium. “My experience with Scratch as a teenager gave me confidence in my ability to create with computers, inspired me to explore coding in different languages, prompted my decision to major in CS in college, and helped me succeed in even my hardest classes.”

Otts adds that Scratch is where she learned concepts like parallelism that are essentially the same in more complex languages such as Python and Java. As Kaplan puts it, “A loop in Scratch is the same as a loop in Java.”

Another good resource to check out: standards. Both the Computer Science Teachers Association and the International Society for Technology in Education (ISTE) have released updated CS standards in the past year, and Code.org reports that 14 states have developed or are developing state CS standards. For those who primarily use Kodable, its standards, constructed from the Kodable program and the CSTA and ISTE standards, are a nice guide as well.

The Girls Who Code model is also full of great ideas. GWC leans heavily on real-world examples and experts. The GWC clubs are expected not only to work through their online curriculum, but also to partner with a local female professional in the CS field. The GWC program also involves a service project, such as creating a website or app that educates or benefits the community, putting newly acquired coding skills to practical use.

Teaching kids to code is about more than providing them with a useful skill or integrating tech. Coding takes guts and grit, forcing students to persevere through failure and to think in new ways. It’s inherently creative, requiring students to make something from nothing. “Learning how to code makes you a better person. Even if you never code again,” Kaplan says.

In the two years that my school has offered a coding elective, it has expanded from one class to three and is sure to continue growing. As it reaches more students, I hope to align the curriculum more purposefully with the high school computer science program—in part by shifting the focus away from writing code and toward what students can create with computers.

I definitely plan to add a Sonic Pi unit, so they can all become composers, and to dedicate more time to creating video games in Code.org. They don’t need to be experts in Java, HTML, or any one language by the end of middle school. It’s more important that my students have a fun, challenging experience that will prepare and empower them to learn more.

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

Addie Matteson About Addie Matteson

Addie Matteson is a middle school librarian at the Westminster Schools in Atlanta, GA.

Maker Workshop
In this two-week online course, you’ll create a maker program that aligns with your budget and community needs, with personal coaching from maker experts—from libraries and beyond—May 23 & June 6, 2018.
Comment Policy:
  1. Be respectful, and do not attack the author, people mentioned in the article, or other commenters. Take on the idea, not the messenger.
  2. Don't use obscene, profane, or vulgar language.
  3. Stay on point. Comments that stray from the topic at hand may be deleted.

We are not able to monitor every comment that comes through (though some comments with links to multiple URLs are held for spam-check moderation by the system). If you see something objectionable, please let us know. Once a comment has been flagged, a staff member will investigate.

We accept clean XHTML in comments, but don't overdo it and please limit the number of links submitted in your comment. For more info, see the full Terms of Use.

Speak Your Mind