Did you know that middle school and high school students are already learning to code? If we refer to the 2016 mathematics program, there is now an entire section of the program dedicated to algorithms and programming.
As the program indicates, the teaching of computer science in cycle 4 (5th, 4th and 3rd) does not aim to train expert students, nor to provide them with an exhaustive knowledge of a language or language. particular software, but to provide them with the keys to decrypting a constantly evolving digital world. This teaching allows to acquire methods which build algorithmic thinking and develop skills in the representation of information and its processing, problem solving, control of results. It also provides the opportunity to set up teaching methods based on project-based, active and collaborative pedagogy.
What better way to awaken to this knowledge than to combine video games and programming? And that's even better when it involves one of the most popular games in history, Minecraft. This is what offers the book written by Martin O'Hanlon and David Whale that I had the opportunity to discover: Learn to code in Python with Minecraft.
In 312 pages, this educational book sold for € 24,90 allows children aged 10 and over to learn how to program it to go further in the game. Let's see in detail the content of each chapter:
- Introduction. This first part of ten pages looks back on the origins of Minecraft and the possibilities offered by programming. Indeed, the game, by its classic tools, can quickly limit the creative genius of the players, requiring to create much less limited third-party programs!
- Chapter 1: Hello world of Minecraft. It's time to get ready to program either under Raspberry Pi, Windows PC, or Mac, then create your first program. Archives downloadable from the internet are available for each of the operating systems with, inside, the programs necessary for a quick start.
- Chapter 2: Detect the movements of your player. This chapter is rather evocative by its title, learning how to recover the position of its player. Two uses are proposed: create a magic doormat and use geofencing to levy a tax.
- Chapter 3: Automate your constructions. Every Minecraft player has ever experienced it: stacking blocks can get boring. Especially if you want to make buildings of a suitable size. With Python, no more manual work, it is possible to automate all this. Thanks to the loops and a few lines of code will be built houses, lots of houses, with carpets inside, please.
- Chapter 4: Interacting with the blocks. Have you always dreamed of walking on blocks appearing under your feet like a magician? Your wish is granted because in this chapter you will be able to create a magical bridge, worthy of an Indiana Jones temple. There is also a small game of treasure hunting.
- Chapter 5: Interacting with electronic circuits. There, you will need some equipment, because this chapter proposes to link actions performed in the game to electronic components in the real world. So you're going to need diodes and circuit boards ... If you have all of that, you can create an intrusion detector for your in-game home that starts a real world countdown with a big button to trigger the house. 'self-destruction (in game)! This mechanism can be used independently to make space quickly in play.
- Chapter 6: Using data files. Files are important in order to be able to process a large amount of information more easily. By using CSVs, it is thus possible to quickly generate a maze. But it gets even cooler with the example given: a duplicating machine.
- Chapter 7: Building structures in 2D and 3D. We have already seen the creation of simple houses but with the minecraftstuff module, it goes even further, introducing complex shapes (cylinders, polygons, pyramids ...).
- Chapter 8: Creating smart blocks. Even if designing an artificial intelligence is difficult, it turns out to be rather simple to simulate simple behaviors and give the impression of intelligence. In this chapter, a dog block is created that follows the player everywhere and an alien saucer that tries to catch the players in its beam!
- Chapter 9: A great adventure. To conclude with all the knowledge acquired previously, the authors propose to create a game in the game, Perilous Crossing, where the goal is to cross an arena as quickly as possible to collect the maximum number of diamonds, and this while avoiding traps.
- Chapter 10: The Minecraft Elevator. A final hidden chapter can be found in the project archive available online. He proposes to create a virtual elevator controlled by a real command. Once again, same concern as chapter 5, you need material!
Finally, appendices offer various resources to go further, and projects and tutorials from other people that can serve as examples.
Still not convinced? Then you should take a look at this excerpt available on the book's official website:
Extract from Learn to Code in Python
Although the book is clearly aimed at a young audience, especially in the tone used and the illustrations, it remains interesting for an older audience and even for adults new to the field. Of course, if you have some programming knowledge, you will quickly take the tour, Python being a relatively simple language, at least in the exercises offered. But despite everything, there are still avenues for improvement on offer that will delight the most experienced. Although not being a great Minecraft specialist and having a good knowledge of development, this book interested me but above all I am clearly looking forward to my son being of the required age so that we both discover it!