This is the first year that Digital Technologies has been a mandatory part of the Australian curriculum through to Year 8. Whilst the subject area contains a number of different topics, the one that generally comes to mind (helped in no small part by our politicians and media 🙄 banging on about 'coding' this, and 'coding' that) is programming and algorithmic thinking.
Since our education sector has a fairly comprehensive set of licenses to all things Microsoft, we have Minecraft: Education Edition licenses for all of our students and staff. While I am not that big of a fan of Minecraft's system of switches and redstone wiring (I prefer my programming higher level and less clunky), I do quite like plugging in external programming through Code Connection, as I've written about before in toying with core sampling.
With my Year 7s I thought I'd try out covering the programming component with Minecraft: EE and Code Connection. It gives students some nice ways to visualise problems they need to solve, as they can build/prototype a solution and then design a program which creates that solution for them.
I've been kicking around this idea since attending a workshop on Minecraft: EE with Kieran Bailey at the ECAWA State Conference earlier this year. Initially I was thinking about pursuing a series of lessons looking at automated agriculture (and probably will revisit that later on), but ended up with some more disjointed ideas building off Code Connection tutorials (so that students had somewhere to start in a self-paced fashion, and more importantly someone else had written the material!) and examining programming fundamentals like looping, conditionals, and variables.
At the end of the series of lessons, I got students to build a few programs for me. There was some mixed success, and I'll discuss the successes and failures a bit further down.When designing the tasks, I had a few aims in mind:
- Get students to create something engaging where they wanted to solve the problem for themselves, not because it was an assessment.
- Have a range of different ways of solving the problems.
- Involve physical prototypes so that students could build the solution themselves to help them visualise the outcome and assist with programming in 3D space.
- Make it difficult or impossible to share answers, whilst still allowing students to learn techniques off each other.
- Build a blocky version of the student's own head.
- Sign their initials in lava in a trench in the ground.
- Build chess boards of a specified size.
The first two tasks I'm fairly happy with, but the last one, although I like the problem in itself as there are multiple ways to solve it, obviously doesn't satisfy my last aim.
The first group through a new course is always the hardest, as it's difficult to pitch assessments at the right level to challenge but still include all students. My expectations were definitely too high with this set of tasks, and will need adjustments to both how I teach the content and in the difficulty of the assessment next year.One of the failures of Minecraft: EE is that since everything is kept in local storage for each student, and the process of switching programs is quite cumbersome (involving a lot of external resource loading, despite programs and Minecraft server being on the local machine), it can be quite tough to ensure students are on track rather than merrily running about doing their own thing. My lesson format for this topic is typically a step by step tutorial (with explanations and screenshots) in OneNote for students to follow, along with 2-3 extension activities at the end which use the concept in a different setting. In future I'll get students to add their own screenshots to a table at the end showing their code and results from the extension activities in order to keep them a bit more accountable.
As the subject is mandatory now rather than an elective, there are many different literacy (and numeracy - particularly involving 3D space) levels who need to be catered for. Although I try to differentiate instruction in a number of ways (demo and explain verbally, self-paced written and graphical tutorials, teach by the side), it is always surprising who struggles with some concepts or learning methods. Whilst it is incredibly time consuming, next time around I'll add some video tutorials to the mix as well as some smaller explainers and demos to cover some more bases.
In 2018, Minecraft is an ancient beast, but I've been impressed at the coverage of students who, whilst initially complaining about it, have gotten right into the platform and a lot of the coding problems. Minecraft: EE has been a win on the engagement front.
Although it's by far the hardest of the three problems I gave students (and stupidly, I put it first in the task list) the "build your own head" problem has proven to be a win for getting students to really think about the task in a number of different ways. With some tweaking and more targeted introductory lessons, I think this has a lot of potential for future assessment.
Minecraft: EE and Code Connection has a range of really nice tutorials to build from, which provides a nice gentle introduction for both students and teachers, and they are general enough that I have been able to introduce several different concepts using them as a base.
Using a Minecraft world as a prototyping playground is often hilarious. There have been a number of nightmare hellscapes of half-formed heads that my students have created while debugging their programs.