Manipulating Minecraft with Python
Python, a mysterious computer programming language developed in the 1980s by an equally mysterious sounding character, Guido van Rossum, to terrify and bemuse mere mortals with its deadly viperous connotations. Like Egyptian hieroglyphs, only a gifted few can interpret its other-worldly meaning. Enough hyperbole. It is actually named after Monty Python’s Flying Circus and if you put your preconceptions (and misconceptions) to one side, Python can be learned by almost anyone!
I’ve been using Python with visiting schools, and children find it empowering to see they can code using the same language used by Pixar, Google, and even NASA. Pupils don’t usually encounter Python until Years 9 or 10 in secondary school. But I’ve found that children in Year 5 can understand and use the basics quite successfully.
In our workshops, we use Scratch and Python to program a flashing LED and compare the two languages. Many children prefer the speed and freedom that Python offers compared to the block-based approach of Scratch. They also find the error feedback helpful (this is absent from Scratch), as well as the thrill of using a real programming language.
Comparing and contrasting Scratch 1.0 with Python
Python can be intimidating at first for non-specialist teachers, and it’s tricky to know where to start. Python 101 is a fantastic introduction. The course is developed by the Raspberry Pi Foundation as part of a collection of free professional development resources.
The course is presented by Martin O’Hanlon, one of the lead educators for the Raspberry Pi Foundation. Martin introduces each element of the course, demonstrating what you are going to learn. He explains concepts in an interesting, easy-to-understand way, treating what could be a dry subject lightly, and with a sense of humour.
The course is presented using the online learning platform, Futurelearn, and is chunked into manageable two-hour sessions over three weeks. Through the course, you create a mathematical problem-solving bot, and each week, the bot becomes increasingly complex.
- Week one introduces the basics of creating your first program.
- Week two demonstrates how a computer makes choices within Python.
- Week three presents the concept of Iterables and Iteration, and how this can enhance your bot.
- Finally, week four shows how different types of loops can be used in your code.
The course itself is a blend of instruction, activities, discussions, and quizzes. It develops your skills through a mix of videos, screenshots, animations, and transcripts. The layout is also mobile-friendly, which allows you to learn on the go.
The course removes barriers to learning such as a lack of equipment by demonstrating both downloaded and online IDEs (Integrated Development Environments, Mu & Trinket).
The comments section on each page fosters a sense of camaraderie and even though the course is recorded, there are real-time facilitators from the Raspberry Pi Foundation, monitoring and supporting learners throughout. They also encourage learners to share their code. This can be valuable as you get to see how the program looks from a variety of angles. Very handy!
Writing your first Python program is incredibly rewarding and not as scary as some people may think. Martin walks through the entire process in a video. There are also screenshots and a transcript, and a helpful troubleshooting section at the end to aid debugging.
The course is well structured with mini-challenges throughout to develop your understanding and quizzes at the end of each week to check you have absorbed the key skills. A weekly recap is also helpful in embedding what’s been covered.
All the content from the course can be used with students under an Open Government license. There are interesting case studies from teachers who have used each element with their classes, and this provides an insight into how computing can be taught in school and encourages you to join in the conversation.
At the end of the course, there is an invaluable case studies section titled ‘Normalising Bugs’. It emphasises that mistakes are part of learning and shares teachers’ ideas for how to make bugs (mistakes) part of the process and to remove the associated anxiety. These ideas can be used within computing but also across the curriculum.
This course is a fantastic learning opportunity for all teachers. It demystifies many concepts within coding and will benefit anyone wishing to develop their Python skills.
by Steve Lewis @Steve_Lewis81