- 1 Teaching with ComputerCraftEdu
- 2 Target audience
- 3 Learning sequence
- 4 Standards alignment
- 5 Other Guides
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.
If you're new to teaching with MinecraftEdu, check out some general tips.
ComputerCraftEdu Worlds in the World Library
ComputerCraftEdu Tutorial is a great place to get started. It scaffolds the players' first experiences of programming by introducing the turtles as part of the story.
Turtle Island is a massive world that introduces players to programming and is able to accommodate up to 32 players at once.
Like programming itself, ComputerCraftEdu will work with a very broad range of contexts and ages.
6-8 year olds
Younger children will benefit from giving easy directions to their robots in a playful environment. Using the remote, the students learn that computers and robots can only take simple, unambiguous commands. Using the turtle vision, they will learn spatial programming: all the commands they give are relative, i.e. they need to think about the world from the turtle's perspective rather than their own.
Customising the turtle with colours and trinkets create a sense of ownership to the turtle, making them personal travelling companions to the players in the world of Minecraft.
Paired with pseudo-programming activities outside the game, ComputerCraftEdu is a great way to take the first steps in learning programming.
Alignment with Curriculum: Examples
- Finland In lower grades (1-2) the focus is on giving directions, solving problems and familiarisation with programming in a familiar environment. The first experiences with CCEdu begin with giving directions to the turtles with the remote and for many student Minecraft is a familiar environment.
- United Kingdom At the end of Key Stage 1, students should understand that programs work by following precise and unambiguous instructions. They should also be able to predict the behavior of simple programs. The remote tab makes giving instructions easy - the turtle is controlled by simple commands with visible & direct results. Programming a robot also forces the programmer to change the perspective to the turtle’s. This is further facilitated by the turtle camera that lets you view the world from the turtle’s perspective.
9-12 year olds
In many curricula, this is the age when students should move from giving simple direction to creating programs in a visual programming language and adopt methodological approaches to problem-solving. Starting with using the remote, the students will be familiar with the basic commands by the time they begin using the visual editor. Dragging and dropping the commands in the visual editor follows the logic and metaphor of Minecraft inventory. Just like they move and organise their items in the game, they move the command tiles around the programming grid.
Alignment with Curriculum: Examples
- Finland Grades 3-6 focus on inspiring the students from giving directions into writing programs in a graphical programming environment. In ComputerCraftEdu, this corresponds with the transition from using the remote into the programming view and the simple icon-based algorithms.
- United Kingdom Key Stage 2 focuses on breaking problems down into smaller parts and using simple programs with sequence, selection and variables to solve them. All of these can easily be facilitated in the visual editor. The integrated development environment lowers the threshold with syntax - the student chooses the selection or loop item they want and the ComputerCraftEdu helps them to get the syntax right.
13 year olds +
Older students will have a chance to plunge into text-based programming, being effortlessly able to change between the visual and text-based programming views. Using an IDE will also teach good programming practises and breach the gap between introductory programming and more advanced stages.
Alignment with Curriculum: Examples
- Finland In grades 7-9 the students will learn about good programming practices. Using existing programs as functions, managing the library and sharing disks will expand on the programming-analogy in ComputerCraftEdu as well. The integrated development environment in both visual and code editor helps to facilitate the transition to actually writing code.
- United Kingdom Key Stage 3 aims to teach more specific skills alongside the more general competences of earlier Stages. These skills include designing modular programs with functions and boolean logic to name a few. Both have direct applications in ComputerCraftEdu on both visual- and code-views.
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.
Moving from the visual programming to Lua-code
At any time, players can also start typing the name of a command. Once the player has entered the first character, a list similar to the IDE-mode above appear under the active tile. The list contains all the possible commands, this time in a text-form. The system is the next step between visual and text-based programming.
When the players feel confident with writing the commands in the visual programming mode, they can move on to the advanced programming mode, or code-view. In code-view, the visual symbols are replaced by their actual Lua-counterparts. The same kind of syntax-help carries over from the visual side, and the player is able to continue programming without too dramatic a change.
Next Generation Science StandardsThe 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 Standars (NGSS)|
|K-2-ETS1-1.||Ask questions, make observations, and gather information about a situation people want to change to define a simple problem that can be solved through the development of a new or improved object or tool.|
|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.|
CSTA K–12 Computer Science Standards
Developed by the Computer Science Teachers Association, the CSTA K-12 Computer Science Standards delineate a core set of learning standards designed to provide the foundation for a complete computer science curriculum and its implementation at the K–12 level. To this end, these standards:
- Introduce the fundamental concepts of computer science to all students, beginning at the elementary school level.
- Present computer science at the secondary school level in a way that can fulfil a computer science, math, or science graduation credit.
- Encourage schools to offer additional secondary-level computer science courses that will allow interested students to study facets of computer science in more depth and prepare them for entry into the work force or college.
- Increase the availability of rigorous computer science for all students, especially those who are members of underrepresented groups.
|CSTA K–12 Computer Science Standards (CSTA)|
|Computational Thinking (CT)|
|L1:3.CT-1.||Use technology resources (e.g., puzzles, logical thinking programs) to solve age appropriate problems.|
|L1:3.CT-4.||Recognize that software is created to control computer operations.|
|L1:6.CT-1.||Understand and use the basic steps in algorithmic problem-solving (e.g., problem statement and exploration, examination of sample instances, design, implementation, and testing).|
|L1:6.CT-5.||Make a list of sub-problems to consider while addressing a larger problem.|
|Comments ComputerCraftEdu offers a concrete way to understand computers as tools for solving problems. The learning sequence from using the remote to give simple commands to creating simple programs in the visual editor introduces programming in a way that is both logical and meaningful to the Minecraft-generation.|
|L1:3.CL-2.||Work cooperatively and collaboratively with peers, teachers, and others using technology.|
|L1:6.CL-3.||Identify ways that teamwork and collaboration can support problem solving and innovation.|
|Comments Instead of each student programming in isolation on their own computers, the students inhabit the same virtual world in Minecraft. They can share access to their robots with others and print out their programs on disks to be shared with other players, each contributing smaller parts to solving a larger problem.|
|Computing Practice and Programming (CPP)|
|L1:3.CPP-4.||Construct a set of statements to be acted out to accomplish a simple task (e.g., turtle instructions).|
|L1:6.CPP-5.||Construct a program as a set of step-by-step instructions to be acted out (e.g., make a peanut butter and jelly sandwich activity).|
|L1:6.CPP-6.||Implement problem solutions using a block-based visual programming language.|
|Comments Features like remote control and visual programming interface make it easy to learn programming practices. The syntax helper encourages the students to follow programming practises in both visual and code editors. The Minecraft-like interface ensures the familiarity to lower the threshold to start the block-based visual programming.|
|Community, Global, and Ethical Impacts (CI)|
|L1:3.CI-2.||Identify positive and negative social and ethical behaviors for using technology.|
|L1:6.CI-1.||Discuss basic issues related to responsible use of technology and information, and the consequences of inappropriate use.|
|L1:6.CI-2.||Identify the impact of technology (e.g., social networking, cyber bullying, mobile computing and communication, web technologies, cyber security, and virtualization) on personal life and society.|
|Comments Working in a shared world with others, the students need to take into account the consequences of their actions. Situations arising from accessing other students robots and sharing resources and programs all bring up teachable moments to address these issues.|