MinecraftEdu and Computational Thinking The Examples in the table below have been taken from -`Developing computational thinking in the classroom: a framework’ © Copyright 2014 Computing at School. Not all Examples have been used from the above document, only those that lend themselves specifically to the use of MinecraftEdu in the primary curriculum. The ideas and objectives below are by no means comprehensive and it is recognised that these could be developed at a deeper level. It is hoped that this document gives a starting point for using MinecraftEdu in the primary classroom to deliver concepts of computational thinking. Barry Price CAS Master Teacher Nov 2015 Algorithmic Thinking Algorithmic thinking is a way of getting to a solution through clear definition of the steps - nothing happens by magic. From -Developing computational thinking in the classroom: a framework June 2014 Computing at School Examples Objective examples Write a set of instructions that can, if followed, in a given order achieve a specific goal. Write instructions on how to craft a give object within Minecraft –eg a hoe, a pickaxe Write instructions that use arithmetic and logical operations to achieve a specific goal. Write instructions on how to create specific mathematical shapes with given dimension. Write instructions to create a building with a particular footprint –perimeter/area I can write an algorithm accurately incorporating given variables Use standard notation to write algorithm. Use Scratch blocks to write algorithm, use flowcharts to design/write algorithm on how to build/farm in Minecraft I can use standard notation to write algorithms Create algorithm to test a hypothesis. Design an algorithm to test… which block will contain lava…best conditions to grow plants I can write an algorithm to test a hypothesis Create different algorithms that achieve the same solutions. Design algorithms for the same problem. Could compare with other. Challenge –how many ways can you find to cross a river/build a shelter? Children to write the different algorithm. I can write multiple algorithms that solve the same problem I can give reasons as to why one algorithm works more effectively (evaluation concept also) Create algorithmic descriptions of real I can write an algorithm to achieve a given goal I can evaluate my algorithm to make it work more effectively world processes so as to better understand them. Design an algorithm on how to build a working volcano/the journey of a river. Design algorithms that take into account others that may use them. Design an algorithm that could be used by younger children to make an animal pen and add animals. I can write an algorithm on how to simulate a real life process I can explain this process I can write an algorithm that can be effectively used by a given target Decomposition Decomposition is a way of thinking about problems, algorithms, artefacts, processes and systems in terms of their parts. The separate parts can then be understood, solved, developed and evaluated separately. From -Developing computational thinking in the classroom: a framework June 2014 Computing at School Examples Objective examples Break down artefacts (eg objects, problems, processes, solutions, systems or abstractions) into constituent parts to make them easier to work with. Give the children the `whole’ and ask them to design a work schedule for how to complete the task. Eg, they have landed on a desert island, they must build shelter, farm crops and animals and protect their settlement I can break down a problem into smaller, easier parts I can prioritise the way in which parts will be worked on, giving reasons for my choices. Abstraction Abstraction is another way to make problems or systems easier to think about. It simply involves hiding detail - removing unnecessary complexity. From -Developing computational thinking in the classroom: a framework June 2014 Computing at School Examples Reducing complexity by removing unnecessary detail. Give the children a step by step guide to build a specific object. Before they build, ask them to work through and highlight the parts that they think are essential to the build, and disregard the others. Objective examples I can remove unnecessary details from an algorithm making it more effective and efficient. Patterns and Generalisation Generalisation is a way of quickly solving new problems based on previous problems we have solved. From -Developing computational thinking in the classroom: a framework June 2014 Computing at School Examples Objective examples Identifying patterns and commonalities in problems, processes, solutions or data. At the end of the topic, ask the children to consider how each group undertook the problem. Did all go about it in the same way? Did some complete the task in less steps? What are the similarities and differences in the outcomes? (Patterns and Generalisation cont.) Adapting solutions or parts of solutions so they apply to a whole class of similar problems. At the end of the topic, ask the children to identify ways in which the work they have undertaken could be applied to other topics. Eg, what concepts from building a shelter could be used to build a volcano? I can identify patterns and commonalities in problems, processes, solutions or data. I can adapt solutions so that they apply to similar problems I can apply what I have learnt to others areas. Evaluation Evaluation is the process of ensuring an algorithmic solution is a good one: that it is fit for purpose. From -Developing computational thinking in the classroom: a framework June 2014 Computing at School Examples Objective examples Assess an algorithm is fit for purpose. Take a set of step by step instructions from the internet on how to something particular in Minecraft, work through and evaluate effectiveness. Offer ways in which the algorithm could be improved. Design and run test plans and interpret the results Given an objective eg build an animal pen with gate, design an algorithm to use a pressure plate to open and close pen door. Build this in isolation and check effectiveness. I can design a step by step, test and interpret results. Compare the effectiveness of algorithms that are designed to do the same thing. Have children design their own algorithms for a given objective, swap and test each other’s. What are the I can compare the effectiveness of a series of algorithms that do the same thing. I can assess the effectiveness of an algorithm I can offer an explanation, with reasoning, on how an algorithm could be improved. similarities/differences? Which is most effective? Make trade-offs between conflicting demands. Give the children a list of things that their settlement may need –eg, somewhere to shelter, somewhere to farm, a fence for protection. Which is essential, which should wait? Have them prioritise which order they build in and justify through reasoning. I can prioritise a list of `things to do’ giving reasons for my choices. Assess whether a system is easy for others to use. Give the children 3 different sets of instructions to accomplish the same thing. Ask them to grade them 1 to 3 on easy to difficult. I can assess algorithms for usability. Step through algorithms to work out what they are designed to do. Give the children a step by step to build something without the title. Ask them to build and work out what the `something’ is. I can assess what an algorithm is designed to do. Use rigorous argument to justify that an algorithm works. Have the children design their algorithm to build something specific eg a tree house. Before they build, have the children talk a partner through the algorithm step by step, explaining and justifying their choices. Eg I think you need to build the ladder first because… I can justify the choices I have made when writing an algorithm. Judge whether an algorithm is good enough even if it is not perfect. Have the children check a set of instructions for an `emergency shelter’ (Minecraft wiki). Is this a good enough shelter? How could an `emergency shelter be made better? I can check if an algorithm is `fit for purpose’. Assess whether a solution meets the specification. Give the children a task –eg build a shelter for a group of players. Think about and list the criteria –eg walls, roof. Share these through screenshots. Do they meet the specifications? How are they different? Are there any that fit the criteria better? (What materials have been used? Where has it been built?) I can assess the effectiveness of outcomes against criteria.