Lynn Vanderzyl was new to teaching high school computer science (CS), and she started out in the logical place—teaching a programming course using Visual Basic, Python, and Java. Unfortunately, the course wasn’t engaging her students: “My classes were too small and they dropped my program.” The following year, the course was redesigned with a focus on game design, with students working together to build video games and learn CS in the process. And it worked!
“They are still learning to code but they don’t realize it.” —Lynn Vanderzyl
Student demand for this course was so high that Lynn offered four gaming classes in the first year, and all of them were full. She’s since added two more advanced game programming courses and loves the projects that her students create each year.
Why is game design an awesome introduction to computer science?
As a part of our Computer Science and Professional Development blog series, we asked CS and game design students, teachers, and professionals that question. A few answers showed up consistently:
- Games make CS relatable.
- Games help students understand why they’re coding.
- Games prepare the next generation to shape society.
“It’s culturally relevant for kids.”
Before students can learn CS, they have to want to learn to CS. And as Lynn discovered, a love of gaming can draw a lot of different students into a computer lab. Schell Games game designer, Sabrina Culyba, sums up why students get so excited to take a CS course when it is based around gaming:
“It’s culturally relevant for kids. They play games. Their peers play games. By leveraging game design and game creation, you give kids a reason for computer science to be meaningful as an everyday tool that helps them create and express themselves.” —Sabrina Culyba
Students see the tangible results of their code.
Games are more than just a gateway into CS; they can also serve as long-term learning tools. James Staffen, an undergraduate CS major at Penn State and a former Zulama student, is a big believer in learning CS by designing games. He started programming in high school and knows how challenging the learning process can be.
“When you are coding just to learn coding, you don’t understand what the point of it is. When you are coding to build a game, you can easily see the results of your code, the point of coding, the power of coding.” —James Staffen
Lynn agrees that it is thrilling for students to see the “immediate results” of their code. She adds that this fun experience leads students to want to dig deeper: “Once they get a simple game going they want to add more to it. The only way to add to it is to learn more coding.”
Game design prepares student programmers to shape society.
What are the bigger-picture implications of learning CS through building games? How do we want the next generation of computer scientists and programmers to think, communicate, and design? Sabrina Culyba explains that games help students develop empathy, a key to using computing skills effectively in the real world.
“Good game design requires you to consider your players—what are you trying to help them feel, understand, achieve? This mindset of designing to meet the needs and desires of others is a critical skill for us to cultivate in students as they grow up to build the next technologies that will shape our society.” —Sabrina Culyba
Sabrina’s point raises the question: What other skills, along with empathy, do student programmers need in order to grow into positive, powerful forces in modern society? At Zulama, we believe that collaboration, critical thinking, communication, and creativity (if we were cooler we’d call them the 4Cs) are vital skills for all students to develop. Traditional CS courses don’t always focus on helping students build those skills. But when students work together to make games, they naturally tap into their creativity, talk to each other, and solve problems—all while learning the principles of computer science.