Although nowadays perhaps in its twilight, Looking Glass, a charmingly quirky online project hosted by Washington University in St. Louis, has long leveraged a sly blend of entertainment and education to enthuse users aged 10 and older about computer programming.
Dr. Caitlin Kelleher, the Hugo F. & Ina Champ Urbauer Career Development Associate Professor in the university’s McKelvey School of Engineering, launched the project in 2012. “With Looking Glass,” its home page notes, “you can create and share animated stories, simple games and even virtual pets.”
Looking Glass supports the Windows, Macintosh and Linux operating systems and involves three main components, a trio very much redolent of classically defined feedback loops:
Crafting an animated story, wherein users “create complex narratives using a simple drag-and-drop interface,” notes the project’s website. “In writing their stories, users begin to learn basic programming constructs like parallel actions, iteration, conditionals and object-oriented code.”
Remixing to learn new skills, wherein “capturing interesting animations from other individuals’ worlds and using them in your project” takes the spotlight, the website continues. “Think that animation of an alien doing the moonwalk would be perfect for your underwater diver? Simply remix the action and bring it to life in your world. Remixing encourages code reuse and helps teach you new skills by looking at example code and interactively exploring how that code works.”
Sharing Looking Glass creations on the web, wherein the project emphasizes digital interaction, especially for suggestions.
To assist users in acclimating to Looking Glass’ digital protocols, the project features video tutorials in addition to the templates mentioned. Moreover, its website asks and answers various questions – “What Is Computer Programming?”
“Why Is Programming Important?” – with pellucid intelligence and incorporates a dozen and a half equally clear FAQs.
Looking Glass otherwise features a showcase visitors can view. In the latest upload to it at press time, as an example of work contributed to the project, a user named “Star” with a lupine avatar uploaded a “world” tagged, simply, “stuff.” In that 28-second clip, a brown-haired girl in a lilac top and shorts approaches a gray canine across a greensward. “Hi puppy,” the girl says to the canine in a comic book/strip word balloon. The canine similarly replies, “woof.” Then, amusingly, it recedes to the horizon, at which point the girl’s thought bubble reappears with the keyboard emoticon for a frowning face.
According to her university bio, Kelleher specializes in researching human-computer interaction “and focuses on designing new kinds of programming environments and languages that democratize programming. Recently, her research group has focused on supporting children learning to program independently. This research has resulted in new kinds of support for tutorials, code execution history exploration tools and robust support for reusing code from unfamiliar programs. Additionally, her group has explored how to support learning from code puzzles and the kinds of learning decisions young novices make in open-ended contexts.”
As a result, over time Kelleher has co-authored academic publications with such daunting titles as “Setting the scene: scaffolding stories to benefit middle school students learning to program” and “Towards generalizing expert programmers’ suggestions for novice programmers.”
The Looking Glass website provides the rationale for the research: “Computing has become a fundamental tool in nearly every career field. Yet there are few opportunities for children to learn basic computer programming. … Looking Glass introduces basic programming within the context of creating open-ended animated stories.”
The website continues by relating that Kelleher and her team have “been exploring how to enable and maximize learning from programs that others create. Looking Glass includes support for selecting animations of interest in a program shared through our online community and remixing it into your own program. We’re currently looking at how to automatically generate effective tutorials based on the selected code, how to recommend animations in other programs that introduce new computing ideas and how to harness potential help from expert mentors to create learning support for kids without access to opportunities to explore computing in their own communities.”
Intriguingly, Looking Glass, to an extent, owes its existence to a predecessor. Before joining the Wash U staff, that is, Kelleher developed a programming system called Storytelling Alice as part of her computer science doctoral work at Pittsburgh’s distinguished Carnegie Mellon University. She designed that system “to motivate a broad spectrum of middle school students (particularly girls) to learn to program computers through creating short 3D animated movies,” according to the website alice.org, where Storytelling Alice remains archived.
Given that mention of the past, a reflection on the future of Looking Glass and her research seems apt.
“I’m not exactly sure where we’re going next,” Kelleher confesses by email. “A lot of the compelling research problems really require a scale that [wouldn’t work] without a large marketing effort and a significantly larger development team than a university research project can realistically muster.”
Finally, Looking Glass and Storytelling Alice alike self-evidently pay tribute nominally to two classics of 19th-century British children’s literature, Alice’s Adventures in Wonderland and Through the Looking-Glass and What Alice Found There, written by “Lewis Carroll.”
In that regard, literarily canny readers may well wonder if Kelleher’s next project references a walrus and a carpenter, say, or a cat with an enigmatic grin.
Looking Glass, lookingglass.wustl.edu