Alexander Meets Michotte: A Simulation Tool Based on Pattern Programming and Phenomenology

Introduction Educational end-user game programming tools Many educational visual programming tools are aimed at lowering the barrier of entry into computer science for end-users (Kelleher & Pausch, 2005). These tools often deemphasize syntax by enabling rule-based programming through drag and drop interfaces. Evidence shows that this strategy is successful at motivating students in the area of computer science (Kelleher & Pausch, 2005; Squire, 2003). [FIGURE 1 OMITTED] For example, a tool we currently employ at the University of Colorado Scalable Game Design Lab is AgentCubes. AgentCubes is an agent-based rapid end-user game and simulation prototyping tool (Repenning, 2011). In AgentCubes, users can quickly create 3D games consisting of agents, which are the in-game characters. Each agent contains a depiction of how it looks and behaviors that are the set of rules that dictate its action throughout the game run. Agent behaviors rely on if/then conditionality rules wherein each rule has 2 parts: an "if part containing conditions and a "then" part containing actions. AgentCubes currently provides users with a palette of 14 different conditions and 36 different actions that users can combine to create different agent behaviors. Figure 1 depicts a Lobster agent with one behavior rule that moves the lobster to the right when the right arrow key is hit. Previous research has shown that students can go from no prior programming experience to making their first game, Frogger, in 5 hours using AgentCubes (Repenning, Webb, & Ioannidou, 2010). How end-user game programming relates to computational thinking and simulation design In addition to motivating students through game design, many educational end-user programming tools also have the potential to enable "computational thinking" (Repenning, Webb, & Ioannidou, 2010). At present time, computational thinking is defined to include the following six items: problem formulation, logically organizing and analyzing data, representing data through abstractions such as models, automating solutions through algorithmic thinking, implementing effective solutions optimally, and transferring solutions to solve a large variety of problems (Barr, Harrison, & Conery 2011). Enabling simulation and modeling activities is a means by which these tools can facilitate computational thinking in the classroom. Jeanette Wing, former Assistant Director of the National Science Foundation and a major proponent of computational thinking, states the following: "The abstraction process--deciding what details we need to highlight and what details we can ignore--underlies computational thinking" (Wing, 2008). In creating representational systems of real world phenomena, users choose which aspects of the real world to model based on what problem they are attempting to solve or gain insight into. Ideally, computational thinking can be achieved by enabling a user to take a problem from the real world, create a representation of this problem using an end-user programming tool, and run experiments while altering simulation parameters to get a better understanding of the real world concept being studied. Computational thinking patterns In an attempt to formalize the link between game design and simulation creation, we have come up with a construct entitled "Computational Thinking Patterns." Computational Thinking Patterns are agent behaviors users initially learn in game design but transfer to agent behaviors used in simulations (Basawapatna, Koh, Repenning, Webb, & Marshall, 2011). In this respect, Computational Thinking Patterns can be thought of as the "units of transfer" between game and simulation design. For example, in the game Pacman, users might learn the tracking pattern implementation to enable Ghost agents to chase after the Pacman agent. Similarly, in a predator/prey simulation a user might use the tracking pattern to have a hungry Fox agent chase after a Rabbit agent. …

[1]  Kathryn T. Stolee,et al.  Expressing computer science concepts through Kodu game lab , 2011, SIGCSE.

[2]  John Harrison,et al.  Computational Thinking: A Digital Age Skill for Everyone. , 2011 .

[3]  Alexander Repenning,et al.  Creating science simulations through computational thinking patterns , 2012 .

[4]  Alexander Repenning Making programming more conversational , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[5]  Gerhard Fischer,et al.  Construction Kits and Design Environments: Steps Toward Human Problem-Domain Communication , 1987, Hum. Comput. Interact..

[6]  Caitlin Kelleher,et al.  Motivating programming: using storytelling to make computer programming attractive to middle school girls , 2006 .

[7]  Alexander Repenning,et al.  The consume - create spectrum: balancing convenience and computational thinking in stem learning , 2014, SIGCSE.

[8]  Staffan Björk,et al.  Patterns in Game Design (Game Development Series) , 2004 .

[9]  Yiasemina Karagiorgi,et al.  Translating Constructivism into Instructional Design: Potential and Limitations , 2005, J. Educ. Technol. Soc..

[10]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[11]  L. Lewis Teachers’ Use of Educational Technology in U.S. Public Schools: 2009 , 2010 .

[12]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[13]  David C. Webb,et al.  Recognizing computational thinking patterns , 2011, SIGCSE.

[14]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[15]  C. Wieman,et al.  PhET: Simulations That Enhance Learning , 2008, Science.

[16]  Alexander Repenning,et al.  The simulation creation toolkit: an initial exploration into making programming accessible while preserving computational thinking , 2013, SIGCSE '13.

[17]  R. C. Oldfield THE PERCEPTION OF CAUSALITY , 1963 .

[18]  Alexander Repenning,et al.  Towards the Automatic Recognition of Computational Thinking for Adaptive Visual Language Learning , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[19]  Kurt Squire,et al.  Video games in education , 2003, Int. J. Intell. Games Simul..

[20]  David C. Webb,et al.  Scalable game design and the development of a checklist for getting computational thinking into public schools , 2010, SIGCSE.

[21]  Jeannette M. Wing Computational thinking and thinking about computing , 2008, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.