Microworlds for computer programming are becoming more readily available as programmers and educators design tools for allowing people to interact and control computer-based technologies at younger and younger ages. Microworld programming design environments allow a user to gain the fundamentals of a programming language without being constrained by linguistical or syntactical concerns.
While reasons for the declining enrollment in computer science are varied (Webster, 2008), there is little doubt that a new approach to getting students interested in studying computing and programming is necessary (Paul, 2007). The accessibility of modern computers necessitated the design of programming microworlds which afforded play, experimentation, and interaction while readying learners for the complex syntactical and semantic structure of computer programming languages. Since computers had become so usable, there was little need for users to understand how they actually work in order to utilize them as tools leaving a gap in knowledge and cognitive frameworks for developing new computer programs. Programming microworlds enable students to learn foundational concepts of computer science (functions, variables, loops, conditionals, switches, input, output, etc…) in a fun, interactive, problem-based learning environment.
Examples of Computer Programming Microworlds
These microworlds are all founded in the pedagogy of LOGO developed by Seymour Papert (2003). Rooted in Constructionism, they form a toolset akin to what Lalueza et al (2004) term The Fifth Dimension(5D) Model. In these microworlds, microcultures are formed when students engage in situated practice working independently and collaboratively overcoming obstacles and solving puzzles the worlds have to offer.
Developed by 17 year old Daniel Yaroslavski (aka Coolio Niato) this puzzle game based on Dr. Brain by Sierra Entertainment (Cysouw, 2009) features a robot that must be programmed to walk around a room ‘activating’ blue squares on a checkerboard floor. The programming is done with simple icons representing instructions to the robot to “move forward”, “turn”, “jump”, and “activate”. The challenge exists in that the user must not only guide the robot around the room to light the blue squares but that the user is limited to giving the robot twelve instructions. Users are allowed to develop two “functions” which act as subroutines that may also be recursively called.
LEGO Mindstorms is a robotics building kit and programming platform that arose out of the coalescence of ideas from three groups: Seymour Papert & Mitchel Resnick, the LEGO corporation, and MIT’s Media Lab (Mindell, 2000). Mindstorms kits consist of a microcomputer “brick” which connects to a variety of sensors, servo motors, and LEGO-style building blocks allowing a user to build robots that can move, sense, and interact with the world around them. Resnick (n.d.), who was an integral part of designing Mindstorms, notes that the kit “gives [students] a deeper understanding of the design process itself… for instance with traditional LEGO bricks, kids might design something that looks like a rabbit…with our new programmable bricks, kids can actually design something that behaves like a rabbit”. Founded in Constructionism, the ROBOLAB software which is used to program the LEGO creations is a natural evolution of Light Bot and allows users to connect together logic statements, motor movement, and sensor input together on the computer as one might connect together the LEGO pieces themselves. All of the fundamental programming concepts (switches, loops, variables, parallel processing, functions, etc…) are available within the ROBOLAB microworld. Mindstorms further allows for natural applications to Problem-Based Learning in that students are generally presented with real-world problems they must design their robots to overcome. The First LEGO League International is an organization which hosts robot sumo battles, robot soccer games, and other challenges where teams must design robots which successfully complete given tasks.
Scratch is the most recent microworld release from MIT’s Medialab. Scratch is a programming environment which uses puzzle piece shaped code blocks allowing users to generate complex games, animations, and programs. The puzzle piece nature of Scratch programming uses scaffolding to slowly introduce students to the syntactic element of programming language. Scratch programs can easily be published to the internet as Java applications via MIT’s website. As the website also offers the original Scratch project which can be downloaded, edited, remixed (where the name Scratch comes from), and learned from, defacto Communities of Practice are formed wherever Scratch projects are stored and shared. Scratch offers the opportunity to learn most programming concepts and moves students into the world of Object Oriented Programming. Scratch also integrates a fully functional Turtle element in tribute to Papert’s original LOGO microworld.
Stop Motion Video
Microworlds for Computer Programming Created by Brian Haas (2017)
Programming concepts and skills covered in Scratch http://scratch.mit.edu/files/program-concepts-v5.pdf
MIT Life Long Kindergarten http://llk.media.mit.edu/
Light Bot http://armorgames.com/play/2205/light-bot
Lego Mindstorms http://mindstorms.lego.com
First Lego League http://firstlegoleague.org/community/HomePage.aspx
Cysouw, M. (2009) Dr. Brain: Another Tale of Conceptual Continuity. Retrieved February 28, 2009 from http://puzzlingiphone.wordpress.com/2009/02/16/dr-brain-another-tale-of-conceptual-continuity/
Lalueza, J.L., et al (2004). Education as the Creation of Microcultures. From the Local Community to the Virtual Network. Interactive Educational Multimedia, 9, 16-31.
Mindell, D. et al. (2000). LEGO Mindstorms: The Structure of an Engineering (R)evolution. Retrieved February 15, 2009 from http://web.mit.edu/6.933/www/Fall2000/LegoMindstorms.pdf Papert, S. (2003). Mindstorms: Children, Computers, and Powerful Ideas. In N.Waldrip-Fruin & N. Montfort (Eds.), The New Media Reader (414-431), Cambridge, MA:MIT Press.
Paul, R. (2007). Universities Respond to Decline in Computer Science Students. Retrieved February 21, 2009 from http://arstechnica.com/old/content/2007/05/universities-respond-to-decline-in-computer-science-students.ars
Resnick, M. (n.d). Life Long Kindergarten. (P. Zak, Interviewer). Retrieved February 20, 2009 from http://miteflink.org/top-navigation/innovation/interviews/lifelong-kindergarten-mitchel-resnick
Webster, B. (2008). The Decline in Computer Science Students (Part 2). Retrieved February 27, 2009 from http://brucefwebster.com/2008/06/24/the-decline-in-computer-science-students-part-2/