AgentCubes is an
educational programming language
An educational programming language is a programming language that is designed mostly as an instrument for learning, and less as a tool for writing programs to perform work.
Types of educational programming languages
Assembly languages
Origi ...
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
Computational thinking (CT) is the mental skill to apply concepts, methods, problem solving techniques, and logic reasoning, derived from computing and computer science, to solve problems in all areas, including our daily lives. In education, CT ...
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
An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) in order to understand the behavior of a system and what ...
. 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
The National Science Foundation (NSF) is an independent agency of the United States government that supports fundamental research and education in all the non-medical fields of science and engineering. Its medical counterpart is the National ...
. 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
AgentSheets was one of the first modern block-based programming language for kids. The idea of AgentSheets was to overcome syntactic challenges found in common text-based programming languages by using drag and drop mechanisms conceptualizing com ...
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 (2006). The first AgentCubes implementation was a MacOS/Windows desktop application
* AgentCubes Online (2012). AgentCubes online shares the same user interface but is complete rewrite based on web technologies such as HTML5, JavaScript and WebGL
AgentCubes Online has been used in large
National Science Foundation
The National Science Foundation (NSF) is an independent agency of the United States government that supports fundamental research and education in all the non-medical fields of science and engineering. Its medical counterpart is the National ...
teacher professional development scale up projects nationally in the US and through the support of private foundation in countries such as Mexico, and Switzerland. In 2017 1 million projects were created. AgentCubes online is now available in English, Spanish, German, Italian and French.
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.
Programming in AgentCubes is based on an IF/THEN parallel conditional rule formalism.
[Touretzky, D.]
"How should young children approach programming?"
Journal of Computing Sciences in Colleges archive, Volume 29 Issue 1, October 2013 Lists of conditions and actions can be assembled into rules. Rules, can be wrapped up as methods with names which can be invoked by other rules. In the spirit of computational thinking tools it is typically possible to implement games and simulations with a small number of rules. For instance, a complete Pac-Man-like game including sophisticated AI allowing the ghost to collaboratively track down pac-man can be written in just 10 rule. Similar rule-based tools are
ToonTalk
ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example. It is one of ...
, or Microsoft's
Kodu
Kodu Game Lab, originally named ''Boku'', is a programming integrated development environment (IDE) by Microsoft's FUSE Labs. It runs on Xbox 360 and Microsoft Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 And Windows 11. It was ...
.
References
{{Reflist, 30em
American children's websites
Dynamically typed programming languages
Educational programming languages
Educational software
University of Colorado
Pedagogic integrated development environments
Video game development software
Visual programming languages
Programming languages created in 2006
Software for children