A Simple Way to Teach Coding!

Created in collaboration with curriculum experts at the University of Colorado School of Education, tested by Stanford University and CU, and supported by the National Science Foundation.

A Pacman game created with AgentCubes.Two rules for the Pacman game made in AgentCubes.

The Origin of Scalable Game Design

Two founder of Scalable Game Design holding a Scalable Game Design sign.

AgentSheets, Inc. and the University of Colorado Schools of Computer Science and Education partnered to develop the Scalable Game Design Curriculum in research supported by NSF to use AgentCubes to teach computer science to students in K-12. They also studied the efficacy of these interventions in real classrooms with hundreds of teachers.

Our approach was to prove that by learning to program engaging, classic arcade games, students could learn both programming and computer science concepts that would allow them to transfer this knowledge to the creation of scientific simulations, and that by doing so, could learn both topic area information and computer science. To measure this, we selected a series of games (Frogger, Pac-man, Journey) that would teach students to implement key Computational Thinking Patterns in a process that supports problem solving in the same steps a programmer or modeler must go through. First, Abstraction; what does the computer need to do, what needs to be represented in the game/model? Next, Automation; what do the pieces of the game/model need to do? Finally, Analysis; is the computer doing the right thing, have I succeeded in solving the problem?

Computational Thinking Patterns

In computer science and coding, the building blocks of programs are algorithms; lists of instructions. Video games use algorithms that are common to many other types of programming. We’ve pulled these out into Computational Thinking Concepts. All of our Game Design curricula helps learners master a wide range of Computational Thinking Concepts, such as: movement, transport, etc. It’s already there in the curriculum! As learners progress through building increasingly complex and original games, they learn to master these key programming concepts that can be used to make original games or even scientific simulations and visualizations. Some of these concepts include: Absorption, Generation, Collision, Hill Climbing, Cursor Control, Movement, Diffusion, Polling, Perceive/Act, and Seeking. There are also beginning and advanced variations on these, and these are taught as well.

Next, we discovered that we could demonstrate transfer of these Computational Thinking concepts by comparing a student’s game with a master game, and assess a student’s mastery of them.

Exceeding the Standards

It was always a priority that we not just be prepared to meet the emerging standards for education, but that we stay ahead of the curve. We need to prepare students for jobs in a world where technology is at the forefront.

Our curriculum and tools make sure that students can continue from Scalable Game Design to creating models and simulations. This means meeting and going beyond the standards in these areas:

  • Creativity and Innovation
  • Communication and Collaboration
  • Research and Information Fluency
  • Critical Thinking, Problem Solving, and Decision Making
  • Digital Citizenship
  • Technology Operations and Concepts

A Winning Combination

CSIA Apexaward, Celebrating Technology Exellence for Agentsheets, Ink.

We know it’s a challenge to bring a standardized curriculum to a classroom filled with students at various levels of experience. We have always believed firmly that learning happens when students and teachers are the producers of media and computer games, rather than the consumer of these things. An answer started to appear way back in the early days of computers when we tried to get the knowledge of subject matter experts into a computer and in front of inexperienced newbies. We were actually there, in Computer Science, and in our research groups we started lowering the threshold for experts new to computers to create expert simulations easily and quickly. With support from the National Science Foundation, we supported users ranging from Science Teachers to NASA scientists. We continued working, with continued support from NSF, NIH, and collaborations with teachers, universities until we lowered the threshold to the point where a third grader could create Frogger in just a couple of hours.

This is where our tools differentiate themselves. Instead of wondering how a kid can tell a story graphically, we asked ourselves how can we put the power of a computer in the hands of curious kids. Our Visual Programming Language, AgenTalk, grew out of this challenge. Simply by defining If->Then, cause and effect, you can put together a computer game. Taking the syntax out of a computer language is only half the battle. Understanding the semantics, the meaning of a program is just as important. With visual cues in the background, indicating how a program will run, we created Conversational Programming, so that you can, with the help of the computer, debug any logic problems with your program and get it running the way you want it to. Combining all of these tools of computer science, and the right curriculum by experienced teachers, educators and evaluators, we now have a set of tools that allows teachers with no experience to teach students with varying levels of experience to master the Computational Thinking Concepts that put them on the path to mastering the digital technologies they need to meet educational standards and work in a digital world.

The Scalable Game Design Curriculum Materials

In this process, we created a complete classroom curriculum and materials for teachers to take students through this process, creating a direct correlation between the Computational Thinking Patterns approach and the current Educational Standards for computer science instruction. We know that not only does our approach meet the standards, it exceeds them, and prepares students to answer the multiple choice questions on even the AP CSP exam.

Teach Frogger with AgentCubes

A Frogger game made in AgentCubes.

You are a frog. Your task is simple: hop across a busy highway, dodging cars and trucks, until you get to the edge of a river, where you must keep yourself from drowning by crossing safely to your grotto at the top of the screen by leaping across the backs of turtles and logs.

Students learn these Computational Thinking Concepts:

  • Cursor Control
  • Generate
  • Absorb
  • First Person Perspective
Link to Frogger Tutorial

Teach Journey with AgentCubes

A Journey game made in AgentCubes.

Journey is a game where a traveler tries to reach a goal, with chasers blocking his way. Journey, which originated as Maze Craze, was originally created by a PhD student in the School of Education at the University of Colorado Boulder. It is a good game to extend the skills gained through programming Frogger, with the addition of the Hill Climbing and Diffusion computational thinking patterns.

Students learn these Computational Thinking Concepts:

  • Cursor Control
  • Collision
  • Diffusion (AI)
Link to Journey Tutorial

Teach Pacman with AgentCubes

A Pacman game made in AgentCubes.

As Pac-Man, your goal is simple: eat as many pellets as you can without being attacked by ghosts. Pac-Man will die if he encounters normal ghosts, but the ghosts will turn blue when Pac-Man eats a power pellet. Blue ghosts can be eaten, but be careful - they will respawn at the start soon after!

Students learn these Computational Thinking Concepts:

  • Cursor Control
  • Collision
  • Diffusion (AI)
  • Collaborative Diffusion (Advance AI)
  • Hill Climbing
  • Polling
Link to PacMan Tutorial

Teach Contagion with AgentCubes

A Contagion game made in AgentCubes.

Contagions are spread among humans in various ways, including direct contact, communication through aerosols (e.g., coughing and sneezing), and communication through other indirect methods, such as mutual handling of objects. This simulation is a grossly simplified approximation of contagion spread through close proximity, which is a mix of the first two methods.

Students learn these Computational Thinking Concepts:

  • Simulation Properties
  • Perceive/Act
  • Scripting
  • Diffusion (AI)
  • Hill Climbing
Link to Contagion Tutorial

Teach Building Your Own Science Simulation with AgentCubes

A simulation simulating Bubble Sort in AgentCubes.

Students use ALL Computational Thinking Patterns. Students can create whatever patterns are necessary to support what they are modeling and simulating.

Build your own Simulation

Research Papers

A. Repenning, "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets" Journal of Visual Languages and Sentient Systems, vol. 3, p. 24, 2017.

Repenning, A., Webb, D. C., Koh, K. H., Nickerson H., Miller, S. B., Brand, C., et al., "Scalable Game Design: A Strategy to Bring Systemic Computer Science Education to Schools through Game Design and Simulation Creation" Transactions on Computing Education (TOCE), vol. 15, pp. 1-31, 2015.

ENABLING 3D CREATIVITY BY ADDRESSING COGNITIVE AND AFFECTIVE PROGRAMMING CHALLENGES