AgentSheets

Last updated
AgentSheets
Agentsheets IDE.jpg
AgentSheets tool
Paradigm object-oriented, educational, Conversational Programming
Designed by Alexander Repenning
First appeared1991;33 years ago (1991)
Stable release
4.0 / 19 May 2014;9 years ago (2014-05-19)
Platform JVM
License proprietary
Website www.agentsheets.com
Influenced by
Lisp, Logo, Smalltalk
Influenced
Etoys, Scratch

AgentSheets was one of the first modern block-based programming languages designed for children. 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. Ideas such as this would go on to be used in various other programming languages, such as Scratch. AgentSheets was used to create media-rich projects such as games and interactive simulations. The main building blocks of AgentSheets were interactive objects, or "agents," that were programmed through rules. Using conditions, agents could sense the user input including mouse, keyboard, and even speech recognition and web page content in more advanced versions. Using actions agents could move, produce sounds, open web pages, and compute formulas.

Contents

History

AgentSheets was initially considered as a cyberlearning [1] tool to teach students programming and related information technology skills through game design.

AgentSheets was supported by a middle and high school curriculum called Scalable Game Design aligned with the International Society for Technology in Education's National Educational Technology Standards (NETS). The mission of this project is to reinvent computer science in public schools by motivating & educating all students to learn about computer science through game design starting at the middle school level. Through this curriculum students go on to build increasingly sophisticated games and, as part of this process, learn about computational concepts at the level of computational thinking that are relevant to game design as well as to computational science.

The results of the NSF ITEST program supported research investigating motivational and educational aspects of introducing computer science at the middle school level are extremely positive in terms of motivational levels, number of participants, and participation of women and underrepresented communities. Participation was high because most middle schools participating in the study have made Scalable Game Design a module that is part of existing required courses (e.g., computer power with keyboarding and learning Microsoft PowerPoint). Many of the middle schools instruct all of their students in scalable game design reaching in some schools over 900 students per year, per school. Of the over 1000 students participating in the project in the first semester, over 52% were girls. Of the girls, 85% enjoyed the scalable game design course and 78% would like to take another game design course. [2]

Design

The built-in drag-and-drop language was designed to be accessible enough so that students without a programming background can make their own simple Frogger-like game, and publish it on the Web, in their first session. AgentSheets was also powerful enough to make sophisticated The Sims-like games with artificial intelligence. To transition from visual programming to more traditional programming, students can render their games into Java source code.

Similar to a spreadsheet, an AgentSheet was a computational grid. This grid contains numbers and string (much like a normal spreadsheet) as well as "agents," or, interactive objects programmed through rules. These agents are represented by pictures, can be animated, make sounds, react to mouse/keyboard interactions, can read web pages, and can speak and recognize speech commands on Mac versions. This grid is suited to build computational science applications modeling complex scientific phenomena with up to tens of thousands of agents. The grid is also useful to build agent-based simulations including cellular automata or diffusion-based models. These models can be used in a wide variety of applications, such as understanding how a mudslide works, when a bridge collapses, and how fragile ecosystems are. The ability to support game development skills as well as computational science applications with the inclusion of scientific visualizations made AgentSheets a computational thinking tool that is used in computer science and STEM education.

Usage

AS-projects.jpg

AgentSheets was used in a number of contexts worldwide, including

History

The original goal of this research was to explore new models of computational thinking. The first prototype of AgentSheets ran in 1989 at the University of Colorado, NCAR, Connection Machine 2. The Connection Machine is a highly parallel computer with up to 65,536 CPUs. Realizing how hard it was to program the Connection Machine, the insight that "CPU cycles will always be ultimately cheaper than cognitive cycles" led to the exploration of several new programming paradigms:

See also

Related Research Articles

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.

<span class="mw-page-title-main">Simulation</span> Imitation of the operation of a real-world process or system over time

A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in which simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Another way to distinguish between the terms is to define simulation as experimentation with the help of a model. This definition includes time-independent simulations. Often, computers are used to execute the simulation.

Educational games are games explicitly designed with educational purposes, or which have incidental or secondary educational value. All types of games may be used in an educational environment, however educational games are games that are designed to help people learn about certain subjects, expand concepts, reinforce development, understand a historical event or culture, or assist them in learning a skill as they play. Game types include board, card, and video games.

<span class="mw-page-title-main">Computer simulation</span> Process of mathematical modelling, performed on a computer

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.

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.

<span class="mw-page-title-main">Drag and drop</span> Action in computer graphic user interfaces

In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to invoke many kinds of actions, or create various types of associations between two abstract objects.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a 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.

Computational science, also known as scientific computing, technical computing or scientific computation (SC), is a division of science that uses advanced computing capabilities to understand and solve complex physical problems. This includes

In video games, artificial intelligence (AI) is used to generate responsive, adaptive or intelligent behaviors primarily in non-playable characters (NPCs) similar to human-like intelligence. Artificial intelligence has been an integral part of video games since their inception in the 1950s. AI in video games is a distinct subfield and differs from academic AI. It serves to improve the game-player experience rather than machine learning or decision making. During the golden age of arcade video games the idea of AI opponents was largely popularized in the form of graduated difficulty levels, distinct movement patterns, and in-game events dependent on the player's input. Modern games often implement existing techniques such as pathfinding and decision trees to guide the actions of NPCs. AI is often used in mechanisms which are not immediately visible to the user, such as data mining and procedural-content generation.

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.

<span class="mw-page-title-main">Constructionism (learning theory)</span> Learning theory involving the construction of mental models

Constructionist learning is the creation by learners of 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.

<span class="mw-page-title-main">Alice (software)</span>

Alice is an object-based educational programming language with an integrated development environment (IDE). Alice uses a drag and drop environment to create computer animations using 3D models. The software was developed first at University of Virginia in 1994, then Carnegie Mellon, by a research group led by Randy Pausch.

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.

GameSalad Creator is an authoring tool developed by GameSalad used by educators and non-programmers alike. It consists of a visual editor and a behavior-based logic system. GameSalad is used in over 223 schools for teaching computer science concepts, logic based thinking, and problem solving skills without all the pain of syntax. GameSalad is used by consumers and creative professionals such as graphic designers, animators, and game developers for rapidly prototyping, building and self-publishing cross-platform games and interactive media. The application runs on both Mac OS X and Windows computers. Access to a Mac is required for publishing to iTunes, but all other supported publishing platforms are accessible for both Mac and Windows users.

<span class="mw-page-title-main">Stencyl</span> Video game development software

Stencyl is a video game development tool that allows users to create 2D video games for computers, mobile devices, and the web. The software is available for free, with select publishing options available for purchase. The software was originally called "StencylWorks" while in development and for the initial release but was later shortened to just "Stencyl".

<span class="mw-page-title-main">Alexander Repenning</span> 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.

Mainframe computers are computers used primarily by businesses and academic institutions for large-scale processes. Before personal computers, first termed microcomputers, became widely available to the general public in the 1970s, the computing industry was composed of mainframe computers and the relatively smaller and cheaper minicomputer variant. During the mid to late 1960s, many early video games were programmed on these computers. Developed prior to the rise of the commercial video game industry in the early 1970s, these early mainframe games were generally written by students or employees at large corporations in a machine or assembly language that could only be understood by the specific machine or computer type they were developed on. While many of these games were lost as older computers were discontinued, some of them were ported to high-level computer languages like BASIC, had expanded versions later released for personal computers, or were recreated for bulletin board systems years later, thus influencing future games and developers.

ASU VIPLE is a Visual IoT/Robotics Programming Language Environment developed at Arizona State University.

<span class="mw-page-title-main">AgentCubes</span> Educational programming language

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.

References

  1. Cyberlearning defined by the National Science Foundation
  2. "Scalable Game Design Results" (PDF). Archived from the original (PDF) on 2010-06-10. Retrieved 2010-02-21.
  3. "grape boycott project with simulation". Archived from the original on 2008-05-14. Retrieved 2008-10-01.
  4. An example GK-12 NSF program using AgentSheets: the Memphis Tri-P-LETS project Archived September 2, 2006, at the Wayback Machine
  5. sample games called gamelets