Agentcubes: Raising the Ceiling of End-User Development in Education Through Incremental 3D
Total Page:16
File Type:pdf, Size:1020Kb
AgentCubes: Raising the Ceiling of End-User Development in Education through Incremental 3D Alexander Repenning1,2 & Andri Ioannidou2 1University of Colorado, Computer Science Department, Campus Box 430 2AgentSheets Inc, 6560 Gunpark Dr. Boulder, Colorado 80301 [email protected], [email protected] Abstract 1.1 Trapped by Affordances Now that we have end-user programming An effect that we have called “Trapped by environments capable of empowering kids with no Affordances” [2] has turned out to be common to many programming background to build games in a matter end-user programming approaches aiming for a low of hours, a new quest for raising the ceiling of end- programming threshold. An affordance is a property of user development is emerging. Environments not only an object that strongly suggests how it could be used. focusing on programming, but also including rich The idea of being trapped by an affordance means that, media such as 3D, could work as compelling tools for while initially the affordance makes a task introducing information technology at the K-12 level, extraordinarily simple, later that same affordance gets addressing even the problem of dwindling numbers of in the way. It either fails to help with more complex computer science student enrollments at universities. problems, or even worse, it actually makes a task The new challenge is raising the ceiling without potentially harder by forcing a user to think about a raising the threshold. Based on our experience with problem in a way that is not compatible with the AgentSheets, which has been used worldwide for problem. Affordances can trap users at the syntactic as computational science and game design applications, well as the semantic level, hence preventing the we created a new authoring tool called AgentCubes. programming ceiling from being raised. This article discusses the notion of Incremental 3D as Syntactic level: Program syntax was commonly a design approach for media-rich end-user perceived to be one of the largest end-user development with low threshold and high ceiling in programming challenges. Traditional programming education. languages included at the time, and still do, syntactic intricacies that are part of the language mostly to allow 1. End-User Programming in Education machine interpretation as opposed to human interpretation. One little semicolon at the wrong place One of the most important goals of end-user and the program would no longer do what the programming in education has been to employ the programmer intended it to do. Programming languages notion of programming as means of interactive such as the early BLOX Pascal [3] and the more recent expression. This kind of literacy [1] could allow kids to LEGO Mindstorms strived to eliminate syntactic express complex ideas through creating simulations problems altogether by conceptualizing programming and models. However, programming turned out to be a languages as puzzle pieces. These pieces are shaped in daunting challenge. Early text-based programming a way so that only syntactically correct programs can languages, such as Logo, had limited success because be written. The results of numerous variants of this of insufficient scaffolding, making it all too simple to visual programming idea are mixed at best. Many users create programs that did not work. It became clear that and researches exploring these programming languages the notion of programming would have to be concluded that while they were a great starting point, reconceptualized for end-users. To make this vision they did not scale well. Complex programs quickly work, it was instrumental to devise new computational became unwieldy [4]. To a large degree, the very ideas that would lower the threshold of programming affordance of the puzzle piece idea that initially helped in order to make it work in educational contexts. in building simple programs would trap users and for Hence, end-user programming in education was born. more complex programs would result in convoluted This quest for new programming paradigms explored arrangements dictated by the visual metaphor. various mechanisms to scaffold the programming process. Semantic level: Graphical rewrite rules for feedback guides users to create syntactically programming agents, initially introduced by correct programs. 1 AgentSheets [5] and later adopted by KidSim [6], had • Comprehension: Tactile programming languages users trapped by semantic affordances. Rewrite rules enable programs to be composed incrementally. have employed notions of programming by example. The ability to perceive the consequences of For instance, an agent could be instructed to move to incremental programming supports an exploratory the right simply by using the mouse and dragging it to style of programming, where users are allowed to the right while telling the system to observe, record play with the language and explore its and potentially generalize the user actions and turn functionality. Perception by manipulation afforded them into rewrite rules. Early usability testing indicated that even young kids quickly, and with by tactile programming allows end-users to almost no instructions, were able to use this efficiently examine functionality in a direct programming paradigm. However, similar to the exploration fashion in the same spirit as bricolage syntactic trap, graphical rewrite rules clearly had a in Logo [12, 13], but with more support strong affordance; one with even more severe mechanisms. Tactile programming with limitations. As soon as users had to create more decomposable test units at different levels of complex behaviors that either extended or were granularity of the programming language completely orthogonal to the graphical rewrite rule (individual commands, rules, methods) provides paradigm, the affordance turned into a trap. One such easy debugging for end-user programmers who do trap was the need to create a very large set of rules for not posses the skills of professional programmers generalized behavior such as a car agent trying to in debugging. follow a road system including intersections [7]. • Decomposability: Decomposable units of behavior Another semantic trap was the lack of procedural in tactile programming enable both testing, as abstraction. Rewrite rules did not have a means to mentioned above, and sharing. We found rule- name a behavior and be able to invoke the behavior based languages especially decomposable. through actions. Individual conditions and actions can be taken much more easily out of context and tested 1.2 Tactile Programming: AgentSheets compared to more traditional imperative programming approaches. Additionally, After creating the graphical rewrite rule version of decomposability promotes sharing. Users are able AgentSheets, we realized that because of the Trapped to share simulation components locally or over a By Affordances effect we would not be able to have web-based repository [14, 15] making agents a users build sophisticated applications. At the same time form of currency in a community of simulation we had a developer version of AgentSheets that had to and game developers. be programmed in AgenTalk (an agent-based version of Common Lisp). This allowed a number of power 1.3 Empirical Evidence of Low-Threshold users to make sophisticated applications including games, scientific simulations, and even new authoring Given that AgentSheets has been used for over a environments [5, 8] that would have never been decade, perhaps just as important as theoretical possible with the graphical rewrite rules. Analyzing perspectives are empirical results based on experiences these Lisp-based applications and synthesizing ideas with AgentSheets in game design and computational found in spreadsheets, rule-based programming and science applications. Over the years, the applications bottom up programming we devised the idea of Tactile that users have produced have exceeded our own Programming [9-11] exhibiting the following expectation. AgentSheets has been employed by a principles: broad spectrum of users ranging from elementary • Composition: In AgentSheets’ Visual AgenTalk school kids [16] simulating ecosystems to NASA language components such as conditions and scientists simulating experiments aboard the Discovery actions are elevated to the level of highly space shuttle [17]. AgentSheets has been used in manipulatable objects. Users program by different types of educational settings including composing these objects via drag and drop elementary school science, introductions to operations into complete programs. Interactive information technology, middle school computer clubs, high school social studies curriculum and programming courses, science discovery after school programs, undergraduate game design courses, and graduate learning technology design courses. 1 Later known as Stagecast Creator Initially, we mostly focused on the end-user based tool interface allows users to quickly create large programming mechanisms themselves, assuming that and complex arrangement of agents in a world. this would be the most important aspect of enabling Agents are programmed in VisualAgenTalk II. An end-users. However, once we started using the extended VisualAgentTalk I [9-11] set of actions and AgentSheets tool in traditional educational settings, we conditions is used to create IF/THEN rules. Actions quickly realized that the end-user programming include basic movement, rotation control, message process in educational settings needs to be scaffolded sending,