AgentCubes

Last updated
AgentCubes
AgentCubes user interface.png
rule based visual programming
Paradigm object-oriented, educational, Conversational Programming
Designed by Alexander Repenning
First appeared2006;15 years ago (2006)
Stable release
3.0 / 18 March 2020;12 months ago (2020-03-18)
Platform HTML5
License proprietary
Website agentsheets.com
Influenced by
AgentSheets, Lisp, Logo, Smalltalk
Influenced
Scratch

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. [1]

Contents

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. [2] 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 Online has been used in large National Science Foundation 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 in AgentCubes is based on an IF/THEN parallel conditional rule formalism. [3] 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, or Microsoft's Kodu.

Related Research Articles

Wolfram Mathematica Computational software program

Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow symbolic computation, manipulating matrices, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica.

Social simulation is a research field that applies computational methods to study issues in the social sciences. The issues explored include problems in computational law, psychology, organizational behavior, sociology, political science, economics, anthropology, geography, engineering, archaeology and linguistics.

Visual programming language

In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

Wolfram Research

Wolfram Research is an American multinational company that creates computational technology. Wolfram's flagship product is the technical computing program Wolfram Mathematica, first released on June 23, 1988. Other products include Wolfram Alpha, Wolfram SystemModeler, Wolfram Workbench, gridMathematica, Wolfram Finance Platform, webMathematica, the Wolfram Development Platform, and the Wolfram Programming Lab. Wolfram Research founder Stephen Wolfram is the CEO. The company is headquartered in Champaign, Illinois, United States.

An agent-based model (ABM) is a class of computational models for simulating the actions and interactions of autonomous agents with a view to assessing their effects on the system as a whole. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to introduce randomness. Particularly within ecology, ABMs are also called individual-based models (IBMs), and individuals within IBMs may be simpler than fully autonomous agents within ABMs. A review of recent literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used on non-computing related scientific domains including biology, ecology and social science. Agent-based modeling is related to, but distinct from, the concept of multi-agent systems or multi-agent simulation in that the goal of ABM is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems, rather than in designing agents or solving specific practical or engineering problems.

Computational science, also known as scientific computing or scientific computation (SC), is a rapidly growing field that uses advanced computing capabilities to understand and solve complex problems. It is an area of science which spans many disciplines, but at its core, it involves the development of models and simulations to understand natural systems.

General-purpose computing on graphics processing units is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the central processing unit (CPU). The use of multiple video cards in one computer, or large numbers of graphics chips, further parallelizes the already parallel nature of graphics processing. In addition, even a single GPU-CPU framework provides advantages that multiple CPUs on their own do not offer due to the specialization in each chip.

Stagecast Creator is a visual programming language intended for use in teaching programming to children. It is based on the programming by demonstration concept, where rules are created by giving examples of what actions should take place in a given situation. It can be used to construct simulations, animations and games, which run under Java on any suitable platform.

A problem solving environment (PSE) is a completed, integrated and specialised computer software for solving one class of problems, combining automated problem-solving methods with human-oriented tools for guiding the problem resolution. A PSE may also assist users in formulating problem resolution. A PSE may also assist users in formulating problems, selecting algorithm, simulating numerical value and viewing and analysing results.

Constructionism (learning theory) learning theory involving the construction of mental models

Constructionist learning is when learners create mental models to understand the world around them. Constructionism advocates student-centered, discovery learning where students use what they already know, to acquire more knowledge. Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance. Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.

Mesh generation is dividing a geometric space into discrete cells

Mesh generation is the practice of creating a mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI, depending on the complexity of the domain and the type of mesh desired. The goal is to create a mesh that accurately captures the input domain geometry, with high-quality (well-shaped) cells, and without so many cells as to make subsequent calculations intractable. The mesh should also be fine in areas that are important for the subsequent calculations.

AgentSheets

AgentSheets was 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 commands such as conditions and actions as editable blocks that could be composed into programs. AgentSheets is used to create media-rich projects such as games and interactive simulations. The main building blocks of AgentSheets are agents which are interactive objects programmed through rules. Using conditions agents can sense the user input including mouse, keyboard and in some versions even speech recognition and web page content. Using actions agents can move, produce sounds, open web pages, and compute formulae.

Computational particle physics refers to the methods and computing tools developed in and used by particle physics research. Like computational chemistry or computational biology, it is, for particle physics both a specific branch and an interdisciplinary field relying on computer science, theoretical and experimental particle physics and mathematics. The main fields of computational particle physics are: lattice field theory, automatic calculation of particle interaction or decay and event generators.

Computer cluster

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.

Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

In education, computational thinking (CT) is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. It involves the mental skills and practices for designing computations that get computers to do jobs for people, and explaining and interpreting the world as a complex of information processes. Those ideas range from basic CT for beginners to advanced CT for experts, and CT includes both CT-in-the-small and CT-in-the-large.

Lateral computing is a lateral thinking approach to solving computing problems. Lateral thinking has been made popular by Edward de Bono. This thinking technique is applied to generate creative ideas and solve problems. Similarly, by applying lateral-computing techniques to a problem, it can become much easier to arrive at a computationally inexpensive, easy to implement, efficient, innovative or unconventional solution.

Polish Grid Infrastructure PL-Grid, a nationwide computing infrastructure, built in 2009-2011, under the scientific project PL-Grid - Polish Infrastructure for Supporting Computational Science in the European Research Space. Its purpose was to enable scientific research based on advanced computer simulations and large-scale computations using the computer clusters, and to provide convenient access to the computer resources for research teams, also outside the communities, in which the High Performance Computing centers operate.

Alexander Repenning American computer programmer

Alexander Repenning is the Director of the Scalable Game Design project, a computer science professor adjunct, a founder of AgentSheets Inc., and a member of the Center for Lifelong Learning and Design at the University of Colorado in Boulder. Repenning is the inventor of drag and drop blocks programming. His research interests include computer science education, end-user programmable agents, human-computer interaction, and artificial intelligence.

References

  1. 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
  2. A. Repenning, "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets" Archived 2019-04-28 at the Wayback Machine , Journal of Visual Languages and Sentient Systems, vol. 3, p. 24, 2017
  3. Touretzky, D., "How should young children approach programming?", Journal of Computing Sciences in Colleges archive, Volume 29 Issue 1, October 2013