AgentCubes
AgentCubes is an educational programming language for children to create 3D and 2D online games and simulations. The main application of AgentCubes is as computational thinking tool teaching children computational thinking through game and simulation design based on the Scalable Game Design curriculum.
Similar to a spreadsheet, an agentcube is a grid-based organization. An agentcube is a four dimensional organization consisting of rows, columns, layers cubes containing stacks of programmable agents. This grid-based organization is useful to create a wide array of applications ranging from 1980-style arcade games such as Pac-Man, over 3D games to simple agent-based model. Agents can be given user created 3D shapes, they can compute formulae, move in the grid, change appearance, play sounds, animate themselves, and send messages to each other.
AgentCubes was developed with support by the National Science Foundation. Research explored if K-12 students could pick up computation thinking patterns designing games and, if later, these students could leverage these computational thinking patterns to transfer skills to make STEM simulations.
History
AgentCubes is inspired by AgentSheets which introduced modern drag and drop blocks programming in 1995. Most notably, AgentCubes transitioned from 2D to 3D design including highly accessible 3D modelling technology called Inflatable Icons. Historically, both AgentSheets and AgentCubes are rooted in an early prototype of parallel programming for children running on a Connection Machine 2, a massively parallel supercomputer. The notion of massively parallel computing carried over to AgentCubes but leaving out the need for supercomputing hardware.- AgentCubes Desktop. The first AgentCubes implementation was a MacOS/Windows desktop application
- AgentCubes Online. AgentCubes online shares the same user interface but is complete rewrite based on web technologies such as HTML5, JavaScript and WebGL
Computational Thinking Tool
With the goal to shape computational thinkers and not necessarily programmers AgentCubes, and AgentSheets before it, have the goal to be computational thinking tools and not programming tools. Computational thinking tools make Computer Science education practical in K-12 by combining Programming Support Tools with Creativity Support Tools:- Programming Support Tools: Beyond just supporting syntactic challenges addressed by drag and drop blocks programming, programming support tools also address semantic and pragmatic challenges. AgentCubes, for instance, supports pragmatic challenges and aid the debugging process by supporting the study of what programs mean in particular situations
- Creativity Support Tools: Research with indicated a close connection between the motivation to program of students and the ability to create their own designs. AgentCubes extended this notion by including tools that would make 3D modelling accessible and even include the ability to 3D print objects created.