UC San Diego Computer Scientists Develop First-person Player Video Game that Teaches How to Program in Java
“CodeSpells is the only video game that completely immerses programming into the game play,” said William Griswold, a computer scientist at the Jacobs School of Engineering at UC San Diego.
The UC San Diego computer scientists plan to release the game for free and make it available to any educational institution that requests it. Researchers are currently conducting further case studies in San Diego elementary schools.
Teaching computer science below the college level is difficult, mainly because it is hard to find qualified instructors for students in elementary to high school, Griswold said. So he and his graduate students set out to find a way to reach these students outside the classroom. They designed the game to keep children engaged while they are coping with the difficulties of programming, which could otherwise be frustrating and discouraging.
Teaching children how to program must be a priority in a society where technology is becoming more and more important, said Sarah Esper, one of the lead graduate students on the development of CodeSpells. Programming also teaches logical thinking, said Stephen Foster, another lead student.
“We’re hoping that they will get as addicted to learning programming as they get addicted to video games,” Foster said.
How CodeSpells works
CodeSpells’ story line is simple: the player is a wizard arriving in a land populated by gnomes. The gnomes used to have magic, but lost it at some point. The wizard must help them. She (or he) writes spells in Java. Players have seven spells available to them, including levitating objects within the game, flying and making fire.
Players can also earn badges by undertaking simple quests, which help them master the game’s spells. One quest entails crossing a river. Another entails rescuing a gnome from the roof of his cottage, where he got stuck. Yet another entails starting a large bonfire. By the time players complete the game’s first level, they have learned the main components of the Java programming language, such as parameters, for if statements, for loops and while loops, among other skills.
Testing the game
Researchers tested the game on a group of 40 girls ages 10 to 12 in San Diego. They gave the students a brief overview of the game’s mechanics, including how to write and edit code within the game’s user interface. The girls were divided in groups of two or three. Researchers encouraged them to explore the game and see what they could do. “We were purposefully vague,” they wrote, “as we hoped to encourage a largely unstructured learning environment.”
The students were disappointed when they had to stop playing because the test was over. Their interest in the game didn’t wane when they made mistakes while writing code. Instead, they used the mistakes as a stepping stone to explore the game’s possibilities. For example, one group made the mistake of levitating an object so high into the air that their wizard couldn’t reach it. So the girls made their wizard jump onto another object and levitated it high enough to reach the object they were after. The girls also reported feeling empowered. When they encountered a difficulty, they tried different spells and made changes to the code until they solved it.
Computer science learning theory
CodeSpells was influenced by research that Esper and Foster conducted on how successful programmers learn their trade. They surveyed 30 computer scientists and identified five characteristics that are key to learn programming outside a classroom setting: activities must be structured by the person who is trying to learn; learning must be creative and exploratory; programming is empowering; learners have difficulty stopping once they start; and learners spend countless hours on the activity.
Researchers summarized these findings in their SIGCSE 2013 paper, humorously titled “On the Nature of Fires and How to Spark Them When You’re Not There.”
Esper will present her CodeSpells work April 18 at Research Expo at the Jacobs School of Engineering at UC San Diego.
Jacobs School of Engineering
All latest news from the category: Information Technology
Here you can find a summary of innovations in the fields of information and data processing and up-to-date developments on IT equipment and hardware.
This area covers topics such as IT services, IT architectures, IT management and telecommunications.
Detecting fluorescence signals from nanoscale thin films
– new possibilities in product labeling. Researchers from INNOVENT e.V. and Ferdinand-Braun-Institut gGmbH have developed a measurement technique that allows to detect nanoscale fluorescent thin films for the first time…
Understanding how microbiota thrive in their human hosts
A research team lead by scientists from the Max Planck Institute for Biology, Tübingen, has now made substantial progress in understanding how gut bacteria succeed in their human hosts on…