Following
Tony Phillips
thought provoking suggestion earlier this month, I couldn't resist asking ChatGTP to write an assignment for me. What follows is the result of a series of interrogations of ChatGTP that started with a request to compose a challenge to help pupils learn Minecraft EE MakeCode, and ended with drilling down to have Chat GTP compose rubrics and list skills progression to support that assignment.
I'll let the results speak for themselves, but bear in mind that not one word of the programme that follows was written by a human and the whole was compiled in less than an hour.
The challenge brief has an unexpected depth to it I thought. The "Sustainable City" theme was not my suggestion - ChatGTP had a free reign in deciding the focus for the challenge. However as the expedition ventured deeper limitations do become more obvious. The result is by no means perfect . There is repetition in the structure of some of the responses and an obvious lack of detail when ChatGTP begins to list specific MakeCode activities - Chat GTP is certainly not a MakeCode expert and the MakeCode focus begins to fade away. But I do think there is some scope to discuss the potential for AI to provide a viable scaffold on which a teacher might hang learning activities.
Given the dismay and fears provoked by ChatGTP in the education community over recent weeks, I'm following Tony's lead on this one in recognising the potential for AI to augment learning and support the work of the teacher.
"Design and Build a Sustainable City" Challenge using Minecraft Education Edition and MakeCode
Using Minecraft Education Edition and MakeCode, your challenge is to design and build a sustainable city. Your city should have at least five buildings, each with a unique function such as a school, a hospital, a grocery store, and a park. You should also include at least one renewable energy source, such as a wind turbine or solar panel, to power your city.
To complete this challenge, you will need to use your coding skills to program your buildings and energy sources to work together efficiently. For example, you might use sensors and timers to control when your lights turn on and off, or use logic statements to regulate the flow of electricity from your renewable energy sources.
Your city should also prioritize sustainability and environmental protection. Consider how you can reduce waste and pollution, and promote conservation of natural resources. Can you use recycled materials in your building designs? Can you create a garden or green space to support local wildlife?
Once you have built your sustainable city, create a video or presentation to showcase your work. Describe the features of your city and explain how your code works to support sustainability. What challenges did you encounter, and how did you overcome them?
Assessment Rubrics
Creativity and Innovation (30 points)
- The design of the city is original, innovative, and demonstrates creativity.
- Buildings and energy sources are well-planned and aesthetically pleasing.
- The use of recycled materials, green space, and conservation measures are unique and add to the overall sustainability of the city.
Functionality and Coding Skills (40 points)
- Buildings and energy sources function efficiently and effectively.
- The coding logic used to control the buildings and energy sources is well-planned and demonstrates advanced coding skills.
- The use of sensors, timers, and logic statements is appropriate and well-implemented.
Sustainability and Environmental Protection (20 points)
- The city design prioritizes sustainability and environmental protection.
- Measures to reduce waste and pollution are well-planned and effective.
- The use of renewable energy sources and the promotion of conservation of natural resources are well-executed.
Presentation and Communication (10 points)
- The video or presentation showcases the city design and the code behind it.
- The features of the city and how the code supports sustainability are well-explained.
- The challenges encountered during the building process are well-described, along with the strategies used to overcome them.
Skills progression for learning Minecraft EE MakeCode:
Basic navigation:
Learn how to move around in the game, look around, and jump.
- Introduce the game: Start by introducing Minecraft and explaining what the player can do in the game. Show some basic gameplay, such as mining and building, to give the student an idea of what the game is about.
- Explain the controls: Demonstrate the controls for moving around in the game, looking around, and jumping. Show how to use the keyboard and mouse or game controller to perform these actions.
- Practice moving around: Have the student practice moving their character around in the game. Show how to use the "W", "A", "S", and "D" keys (or joystick) to move forward, backward, and side-to-side. Explain how to use the spacebar to jump.
- Practice looking around: Have the student practice looking around in the game. Show how to use the mouse (or right joystick) to look left and right, up and down.
- Practice jumping: Have the student practice jumping in the game. Explain how to use the spacebar to jump, and show how to use jumps to get over obstacles.
- Encourage exploration: Once the student has a basic understanding of movement and controls, encourage them to explore the game world on their own. Provide guidance and feedback as needed, and help them to navigate any challenges they encounter.
- Introduce creative mode: When the student is comfortable with basic movement and controls, introduce creative mode. This mode allows the player to build and explore without worrying about survival or monsters. Encourage the student to experiment with building structures and creating their own world
Block manipulation:
Learn how to place and remove blocks.
- Introduce the concept of blocks: Start by introducing what blocks are and how they work in Minecraft. Explain how different types of blocks have different properties and uses.
- Show how to access the block menu: Demonstrate how to access the block menu in Minecraft EE MakeCode. Show the student how to open the "Blocks" menu, which displays all the different types of blocks that are available.
- Show how to select a block: Show the student how to select a block from the "Blocks" menu. Demonstrate how to click on a block to select it, and how to use the scroll wheel to browse through the different block types.
- Show how to place a block: Demonstrate how to place a block in the game world. Show the student how to position the crosshairs where they want to place the block, and then click the left mouse button (or the place block button on a game controller) to place the block.
- Show how to remove a block: Demonstrate how to remove a block from the game world. Show the student how to select the "destroy block" tool from the toolbar, position the crosshairs over the block they want to remove, and then click the left mouse button (or the destroy block button on a game controller) to remove the block.
- Practice placing and removing blocks: Have the student practice placing and removing blocks in the game world. Encourage them to experiment with different block types and building structures.
- Encourage creativity: Once the student is comfortable with placing and removing blocks, encourage them to use their creativity to build their own structures and create their own world. Provide guidance and feedback as needed, and help them to solve any problems or challenges they encounter.
Creative mode:
Explore the game in creative mode and experiment with building structures.
- Introduce creative mode: Explain to the student what creative mode is and how it works. In creative mode, the player has unlimited resources and can build anything they want without having to worry about survival or monsters.
- Show how to access creative mode: Demonstrate how to access creative mode in Minecraft EE MakeCode. Show the student how to create a new world in creative mode, or how to switch an existing world to creative mode.
- Show how to access the building tools: Show the student how to access the building tools in Minecraft EE MakeCode. These tools include the "Blocks" menu, which displays all the different types of blocks that are available, as well as tools for copying, pasting, and undoing changes.
- Encourage experimentation: Encourage the student to experiment with building structures in the game world. Provide guidance and feedback as needed, but also give the student the freedom to explore and create on their own.
- Encourage planning and design: Encourage the student to plan out their structures and designs before they start building. Show them how to sketch out their ideas on paper, or how to use digital tools like Minecraft structure planners to plan out their builds.
- Encourage collaboration: If the student is working in a group, encourage collaboration and communication. Show them how to work together to create larger structures or more complex designs.
- Encourage problem-solving: Encourage the student to solve problems and challenges as they arise. Help them to identify the issues they are facing, and work with them to find creative solutions.
- Showcase their work: Once the student has created something they are proud of, encourage them to showcase their work to others. This can be done by taking screenshots or videos of their builds, or by sharing their world with others so they can explore it too.
Redstone circuits:
Learn how to use redstone to create circuits and simple machines.
- Introduce redstone: Start by introducing redstone and what it is used for in Minecraft. Explain that redstone is a material that can be used to create circuits and machines in the game.
- Show how to access redstone components: Demonstrate how to access redstone components in Minecraft EE MakeCode. Show the student how to open the "Redstone" menu, which displays all the different types of redstone components that are available.
- Show how to place redstone: Show the student how to place redstone dust in the game world. Demonstrate how to position the redstone dust where they want it, and how to connect it to other redstone components to create circuits.
- Show how to create simple circuits: Demonstrate how to create simple circuits using redstone. Start with a basic circuit that consists of a lever and a redstone lamp, and show the student how to connect the two using redstone dust. Explain how the circuit works, and how flipping the lever turns the lamp on and off.
- Show how to create simple machines: Show the student how to use redstone to create simple machines in the game. For example, demonstrate how to create a door that opens automatically when a player approaches, or a trap that activates when a player steps on a pressure plate.
- Encourage experimentation: Encourage the student to experiment with different redstone components and circuit designs. Provide guidance and feedback as needed, but also give the student the freedom to explore and create on their own.
- Encourage problem-solving: Encourage the student to solve problems and challenges as they arise. Help them to identify the issues they are facing, and work with them to find creative solutions.
- Showcase their work: Once the student has created something they are proud of, encourage them to showcase their work to others. This can be done by taking screenshots or videos of their circuits or machines, or by inviting others to explore them in the game world
Command blocks:
Learn how to use command blocks to create more complex and interactive structures.
- Introduce command blocks: Start by introducing command blocks and what they are used for in Minecraft. Explain that command blocks are a type of block that can execute commands in the game, which can be used to create complex and interactive structures.
- Show how to access command blocks: Demonstrate how to access command blocks in Minecraft EE MakeCode. Show the student how to open the "Commands" menu, which displays all the different types of commands that are available, as well as tools for creating and editing command blocks.
- Show how to place command blocks: Show the student how to place command blocks in the game world. Demonstrate how to position the command block where they want it, and how to enter commands into the block using the text editor.
- Show how to create basic command block structures: Demonstrate how to create basic command block structures in the game. For example, show the student how to create a command block that teleports the player to a specific location when they step on a pressure plate, or a command block that spawns a group of animals when activated.
- Show how to create more complex command block structures: Demonstrate how to create more complex command block structures in the game. For example, show the student how to create a puzzle game that requires the player to enter a specific code to unlock a door, or a trap that activates when the player steps on a hidden pressure plate.
- Encourage experimentation: Encourage the student to experiment with different command block commands and structures. Provide guidance and feedback as needed, but also give the student the freedom to explore and create on their own.
- Encourage problem-solving: Encourage the student to solve problems and challenges as they arise. Help them to identify the issues they are facing, and work with them to find creative solutions.
- Showcase their work: Once the student has created something they are proud of, encourage them to showcase their work to others. This can be done by taking screenshots or videos of their command block structures, or by inviting others to explore them in the game world.
Text-based programming:
Learn how to use MakeCode's text editor to write code that controls Minecraft.
- Introduce coding: Start by introducing coding and what it is used for in Minecraft EE MakeCode. Explain that coding is a way to write instructions that tell the game what to do, and that it can be used to create more complex and interactive structures and machines.
- Show how to access the text editor: Demonstrate how to access the text editor in Minecraft EE MakeCode. Show the student how to switch from the "Blocks" view to the "JavaScript" view, which displays the text editor.
- Introduce basic JavaScript concepts: Introduce the student to some basic JavaScript concepts, such as variables, functions, and conditionals. Explain how each of these concepts can be used to create more complex and interactive code.
- Show how to write simple code: Demonstrate how to write simple code in the text editor. Start with a basic example that uses variables and conditionals to control the movement of the player character, and show the student how to enter the code into the text editor.
- Show how to use MakeCode's code snippets: Show the student how to use MakeCode's code snippets to simplify the process of writing code. Demonstrate how to access the "JavaScript" menu, which displays a list of code snippets that can be added to the text editor with a single click.
- Encourage experimentation: Encourage the student to experiment with different code snippets and structures. Provide guidance and feedback as needed, but also give the student the freedom to explore and create on their own.
- Encourage problem-solving: Encourage the student to solve problems and challenges as they arise. Help them to identify the issues they are facing, and work with them to find creative solutions.
- Showcase their work: Once the student has written some code that they are proud of, encourage them to showcase their work to others. This can be done by taking screenshots or videos of their code in action, or by inviting others to play with the code in the game world
Events and variables:
Learn how to use events and variables to create more advanced programs that respond to player actions.
- Introduce the concept of events: Start by explaining what events are and how they work in Minecraft. Give some examples of events that can happen in the game, such as a player placing a block or moving to a certain location.
- Show how to detect events: Demonstrate how to use MakeCode's event system to detect when an event occurs. Show how to use the "on event" block to set up an event handler that will respond to a specific event.
- Explain variables: Introduce the concept of variables and show how they can be used to store data. Give some examples of variables that could be used in Minecraft, such as a variable to store the player's score or the number of items in their inventory.
- Demonstrate how to use variables: Show how to use the "set variable" block to create a new variable and assign it a value. Show how to use the "change variable" block to update the value of a variable based on player actions.
- Combine events and variables: Demonstrate how to use events and variables together to create more advanced programs. For example, show how to use an event handler to detect when a player places a block and update a variable to keep track of how many blocks they've placed.
- Encourage experimentation: Once the student has a basic understanding of events and variables, encourage them to experiment with different combinations of event handlers and variables to create their own programs. Provide guidance and feedback as needed, and help them to debug any errors that they encounter
Functions and loops:
Learn how to use functions and loops to create more efficient and reusable code.
- Introduce functions and loops: Start by introducing the concept of functions and loops. Explain that functions are like mini-programs that can be used to perform a specific task, and that loops can be used to repeat code multiple times.
- Show examples: Provide examples of how functions and loops can be used in Minecraft EE MakeCode. For example, demonstrate how a function can be used to spawn a group of monsters, or how a loop can be used to place blocks in a specific pattern.
- Create a function: Demonstrate how to create a simple function in Minecraft EE MakeCode. Start with a basic example, such as a function that changes the color of a group of blocks, and show the student how to enter the code into the text editor.
- Use the function: Demonstrate how to use the function in a Minecraft world. Place a group of blocks in the world, and show the student how to activate the function to change their color.
- Create a loop: Demonstrate how to create a simple loop in Minecraft EE MakeCode. Start with a basic example, such as a loop that places blocks in a specific pattern, and show the student how to enter the code into the text editor.
- Use the loop: Demonstrate how to use the loop in a Minecraft world. Create a blank space in the world, and show the student how to activate the loop to place blocks in the blank space.
- Encourage experimentation: Encourage the student to experiment with different functions and loops. Provide guidance and feedback as needed, but also give the student the freedom to explore and create on their own.
- Showcase their work: Once the student has written some efficient and reusable code using functions and loops, encourage them to showcase their work to others. This can be done by taking screenshots or videos of their code in action, or by inviting others to play with the code in the game world
Multiplayer:
Learn how to play with others in a shared Minecraft world, and how to collaborate on projects.
- Introduce multiplayer: Start by introducing the concept of multiplayer and how it works in Minecraft. Explain that multiple players can join the same Minecraft world and work together on projects.
- Choose a server: Help the student choose a server to play on. Look for a server that is appropriate for their age and skill level, and that has a friendly and supportive community.
- Join the server: Show the student how to join the server. This may involve entering the server address, creating an account, and/or entering a password.
- Meet other players: Encourage the student to meet and greet other players on the server. Help them start conversations and make connections with other players.
- Start a project: Help the student find a project to work on with other players. This could be building a castle, creating a farm, or exploring a new area of the Minecraft world.
- Collaborate on the project: Encourage the student to collaborate with other players on the project. Help them communicate with other players, delegate tasks, and share resources.
- Show and share: Encourage the student to show off their work and share their creations with others on the server. This could involve taking screenshots or videos of their project, or inviting other players to visit their area of the Minecraft world.
- Be a good community member: Remind the student to be a good community member while playing on the server. Encourage them to be respectful, helpful, and friendly to other players, and to follow the server's rules and guidelines.
- Have fun: Above all, remind the student to have fun while playing Minecraft EE MakeCode with others. Encourage them to be creative, try new things, and enjoy the experience of collaborating with other players in a shared Minecraft world.
Game design:
Learn how to think about game mechanics, player experience, and balancing challenges and rewards
- Introduce the concept: Start by introducing the concept of game mechanics, player experience, and balancing challenges and rewards. Explain that game mechanics are the rules and systems that govern gameplay, while player experience refers to the overall experience that players have while playing the game.
- Discuss game design: Talk about game design and how it involves creating fun and engaging experiences for players. Explain that game designers must balance challenges and rewards in order to keep players engaged and motivated.
- Analyze games: Analyze existing games with the student and discuss how game mechanics, player experience, and challenge/reward balance are used in these games. Look for examples of games that do these things well, as well as games that could use improvement.
- Brainstorm ideas: Encourage the student to brainstorm ideas for their own Minecraft EE MakeCode game, taking into account game mechanics, player experience, and challenge/reward balance. Help them come up with ideas for challenges, rewards, and game mechanics that will keep players engaged and motivated.
- Prototype and test: Help the student create a prototype of their game and test it with other players. Encourage them to gather feedback on the game mechanics, player experience, and challenge/reward balance, and to use this feedback to improve the game.
- Iterate and improve: Work with the student to iterate and improve the game, taking into account the feedback they receive. Encourage them to continue thinking about game mechanics, player experience, and challenge/reward balance as they refine their game.
- Reflect on the process: Encourage the student to reflect on the process of designing and refining their game, and to think about what they learned about game mechanics, player experience, and balancing challenges and rewards. Help them identify ways to apply these concepts in future game design projects.
- Have fun: Above all, remind the student to have fun while designing and playing their Minecraft EE MakeCode game. Encourage them to be creative, experiment with new ideas, and enjoy the process of creating engaging and fun gameplay experiences for themselves and others.