We live in a heavily coded world – where the ability to talk to computers, and understand how they “think,” is more important than ever. At the same time, however, programming is rarely taught in schools, and it can be hard for young students to get started.
Team Spark* wants to change that. Created for last month’s ImagineRIT festival by eight students from RIT’s New Media Design & Interactive Development programs, Spark* is an open-source, web-based application that helps people learn the fundamentals of programming. By playing creative minigames, players can learn core concepts like variables, functions, loops, and conditionals.
Building understanding through gameplay
At each level, players build on previous concepts, until they understand enough about programming to explore their first programming language. According to co-creator Joe Natalzia, Spark* is designed to inspire students aged 12-14 to take that crucial first step:
The hardest thing about inspiring younger people to find some sort of interest in coding is that there is still a pretty large stigma about it, and in a child’s delicate early years, none of them wants to be seen as “nerdy.” We attacked this by abstracting the concepts of programming and focusing on the wonder that you can create through programming.
Spark* takes important concepts and turns them into small mini-games or tasks while reinforcing the programming concept behind it. So our intent was to create a world in which kids learned about programming basics, but didn’t have the initial “this is a variable,” “this is a for loop,” introduction that can sometimes be off-putting.
The first challenge, which focuses on the concept of variables, involves designing a three-level house to defend against three dangers – zombies, bees, and lightning.
Magic and immersion with motion control
I remember when I first brought my Leap Motion Controller into class one of the first weeks of the semester and showed people just the visualizer. The response was incredulous. Because of the way the Leap Motion Controller is used, it’s just the user and the computer, which we believe strengthens the learning experience. It also allows us to hook the user, instilling that initial sense of wonder by saying “this is all done with programming, this is what you could learn to do.”
* No fine print here! Asterisk for stylistic purposes only.