News
Computing Applications

Will Visual Programming Crack the Code on Learning?

Posted
Software code.
As a result, a number of software development platforms have emerged that make use of drag-and-drop interfaces, visual objects, metaphors, and specialized tools.

As the world wades deeper into the digital age, software code is at the center of everything. Yet, it is increasingly apparent that interest in programming extends far beyond professional developers.

"People are looking to express their ideas computationally," says Mitchel Resnick, LEGO Papert Professor of Learning Research at the Massachusetts Institute of Technology (MIT) and director of the Lifelong Kindergarten group in the MIT Media Lab. "They want to create things without dealing with the complexities and syntax of traditional programming languages."

As a result, a number of software development platforms have emerged that bypass the need to write and compile code. They instead use drag-and-drop interfaces, visual objects, metaphors, and specialized tools. These apps—Scratch, Alice, Snap!, Blockly, and GoldieBlox, to name a few—are designed to help children and beginners create fairly basic things such as greeting cards, animations, sound clips, short movies, and simple games. Some, like MIT App Inventor and Apple’s Swift Playgrounds, are pushing the boundaries further by introducing more sophisticated functionality.

Beyond Syntax

In recent years, the popularity of visual programming languages has soared. Typically, these platforms—which range in price from free to a few dollars—use their own code base or components that correspond to standard statements in a production-oriented programming language, such as Java or C++. As a user moves blocks, he or she can instantly view the results, which may appear as two-dimensional or three-dimensional, depending on the platform.

Text-based programming languages can intimidate beginners, observes Barbara Ericson, senior research scientist and director of computing outreach at the Georgia Institute of Technology. "The ability to drag and drop visual blocks eliminates the syntax errors that drive beginners crazy—and leads some first-year university-level computer science students to give up. Traditionally, if you get something out of place or introduce even a small error, you can wind up with code that won’t compile, and you can spend hours trying to figure out why." In fact, she points out that some universities now include visual programming in first-year curriculum.

Making coding more accessible is important, says Jenna Chalmers, director of game design at GoldieBlox. "Drag-and-drop coding is a bit like using refrigerator magnets to write poetry; the purpose might not be to teach coding per se. The goal is to demystify coding." The company’s iPhone and iPad app, GoldieBlox: Adventures in Coding–The Rocket Cupcake Co., leads girls to concepts like debugging and sequential execution through a game. Chalmers likens the process to playing guitar in a video game: "You probably can’t pick up a real guitar and play, but you’ve learned about rhythm, structure, and how music is created. Then, perhaps, you are inspired to learn real guitar and it seems somewhat familiar."

Resnick, director of the Scratch team, says his group’s goal is to deliver a framework that is "more tinkerable, meaningful, and social" than traditional programming languages. Today, "Young people are growing up with a desire to manipulate music, graphics, and media. They want to put their own voice into technology and create interactive experiences. Getting rid of syntax unleashes their creativity," he explains. Scratch boasts more than 16 million shared projects since it was introduced in 2007. Moreover, the open platform has served as inspiration for other tools such as Snap! and Google’s Blockly.

Meanwhile, Apple’s Swift Playgrounds is taking the concept to a more advanced level. As a user creates code on one half of their computer or iPad screen, he or she can watch it execute on the other half.  However, the app adds a new wrinkle to visual programming, says Rastislav Bodik, a professor in the computer sciences department at the University of Washington. "You drag blocks, but the result is a program in textual syntax. This design may make it easier for programmers to transition from visual programming to more classical and more prevalent textual programming."

Getting Graphic

Georgia Tech’s Ericson, who has run computer camps for children since 2004, views these platforms as a window into digital learning. She hopes more teachers will incorporate tools such as Scratch, Snap!, and Alice into the general curriculum in K-12 and beyond. "They are a great way to introduce programming concepts. We definitely see a progression with kids that start in Scratch and then want to move on to more complex platforms and even textual programming languages."

Although visual programming platforms will not replace full-fledged languages anytime soon, the "proliferation of computing devices in the home, in the classroom and elsewhere has fundamentally changed the way people view software," Bodik says. It is unleashing creativity in the same way that desktop video editing and audio recording tools have revolutionized those spaces.

Concludes Resnick: "The goal is to help young people learn to think creatively, reason systematically, and work collaboratively. These skills are useful no matter what a young person grows up to be."

Samuel Greengard is an author and journalist based in West Linn, OR. 

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More