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. History. AgentSheets initially was considered a Cyberlearning tool to teach students programming and related information technology skills through game design. AgentSheets is supported by a middle and high school curriculum called Scalable Game Design aligned with the ISTE National Educational Technology Standards (NETS). The mission of this project is to reinvent computer science in public schools by motivating & educating all students including women and underrepresented communities to learn about computer science through game design starting at the middle school level. Through this curriculum students 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 curriculum is made available through the Scalable Game Design Wiki. Research investigating motivational aspects of computer science education in public schools is currently exploring the introduction of game design in representative regions of the USA including technology hubs, inner city, rural and remote/tribal areas. Previous research has already found that game design with AgentSheets is universally accessible across gender as well as ethnicity and is not limited to  students interested in playing video games. 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. The participation is extremely 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 power point). 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 well 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. Design. The built-in drag-and-drop language is accessible enough that students without programming background can make their own simple Frogger-like game, and publish it on the Web, in their first session. At the same time, AgentSheets is 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 is a computational grid. Unlike spreadsheets, this grid does not just contain numbers and strings but so called agents. These agents are represented by pictures, can be animated, make sounds, react to mouse/keyboard interactions, can read web pages, can speak and even recognize speech commands (Mac). This grid is well suited to build computational science applications modeling complex scientific phenomena with up to tens of thousands of agents. The grid is useful to build agent-based simulations including  cellular automata or diffusion-based models. These models are used in a wide variety of applications. How does a mudslide work? When does a bridge collapse? How fragile are ecosystems? This ability to support game as well as computational science applications with the inclusion of scientific visualizations makes AgentSheets a unique computational thinking tool that is used computer science and STEM education. How AgentSheets is used. AgentSheets is used in a number of contexts worldwide: 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: