Students in a San Diego elementary school play with CodeSpells
CodeSpells is a 3D Serious Game designed to teach novice programmers
how to program in Java. In this game, you are a wizard and your task is to
learn how to read, write and cast spells (Java programs) in an interactive and
fun way
Via: UCSD Jacobs School of Engineering -
UC San Diego Computer Scientists Develop First-person Player Video Game that
Teaches How to Program in Java
PRESS RELEASE
San Diego,
Calif., April 8, 2013 -- Computer scientists at the University of
California, San Diego, have developed an immersive, first-person player Serious
Game designed to teach students in elementary to high school how to program in
Java, one of the most common programming languages in use today.
The
researchers tested the game on a group of 40 girls, ages 10 to 12, who had
never been exposed to programming before. They detailed their findings in a
paper they presented at the SIGCSE (Special Interest Group on Computer Science
Education) conference in March in Denver. Computer scientists found that within
just one hour of play, the girls had mastered some of Java’s basic components
and were able to use the language to create new ways of playing with the game.
“CodeSpells
is the only video game that completely immerses programming into the gameplay,”
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
Image Credit: UC San Diego Jacobs School of Engineering
One of the CodeSpells gnomes, that players help using spells written in
Java
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.
Testing the Game
Image Credit: UC San Diego Jacobs School of Engineering
CodeSpells, the videogame where you cast magic spells in Java code
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.