Programming (ComputerCraft)

Back


Teaching with ComputerCraftEdu

ComputerCraftEdu is designed to act as a low-threshold entry to learning programming. The emphasis is on direct and concrete outcomes: even the very first programs the player writes will result in functioning robots. With the help of a visual programming language designed to follow the Minecraft analogy, robots will feel natural part of the gameplay, bringing programming to the everyday life of the students.

The player progresses from giving easy directions to the turtle to writing their own programs in a visual programming environment and all the way to learning actual lua-code. The process of learning the syntax and moving to text-based programming is scaffolded by a unique integrated development environment that highlights the possible syntax choices for the player.

Much like Minecraft itself, ComputerCraftEdu promotes collaboration: students can easily share their programs with others and invite them over to help with programming by sharing their turtle.

Learning sequence

Pseudo-programming in Minecraft
Players start by giving directions to the turtles using a simple remote view where they can control basic movement, digging and building one step at a time. They learn that robots need unambiguous instructions that are executed in a precise manner. Combined with materials outside the game, these activities teach the basics of designing algorithms without writing any programs yet. The ability to change the camera view to the turtle’s perspective scaffolds the process of perceiving the problems from different angles.

From single commands to a sequence
The remote view is still very limited in terms of functionality and only offers single commands. To write programs with more than one command players need to enter the program tab. In the program tab’s intuitive tile-based drag and drop programming they can start building more complex sequences. This also forces the players to think ahead: how many steps does it take to reach a wall or does my turtle need to dig up or down? As a teacher, you can encourage planning the programs in advance.

Syntax and repetition
The players move from the sequence of commands to automated algorithms with the help of integrated design environment, or an IDE-mode. After IDE-mode is toggled on, whenever a player drags a syntax-item (while, if, for) to the programming area, a list of possible next items opens under the tile. After selecting the next item, a new list of possible items appears, walking the player through the syntax of a loop/selection.

Standards Alignment

The rising need for improving learning STEM-subjects (Science, Technology, Engineering and Mathematics) has been recognized widely. Next Generation Science Standards were developed to answer this need. They don’t replace Common Core’s field of science literacy but supplement them. The NGSS lay out the disciplinary core ideas (DCIs), science and engineering practices that students should master in preparation for college and careers. ComputerCraftEdu is a great tool for STEM education, especially with Engineering Design DCI and below are a number of standards that align with it:


Next Generation Science Standards (NGSS)
Engineering Design
3-5-
ETS1-1.
Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.
3-5-
ETS1-2.
Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem.
3-5-
ETS1-3.
Plan and carry out fair tests in which variables are controlled and failure points are considered to identify aspects of a model or prototype that can be improved.
MS-
ETS1-2.
Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.
Comments: Designing programs in ComputerCraftEdu revolves around iterative design and direct, concrete feedback on the functionality of the program. Turtle robots are meant to be useful tools that help players solve problems and automate their regular Minecraft activities. The teacher's role is to ask the right questions and facilitate the players to find and test different solutions to problems.

Back