Python Programming with Minecraft Pi: Early Draft
by arghbox
When I first heard that Minecraft would be released for the Raspberry Pi I punched the air. The nice people at Mojang had just given me the perfect platform to teach students programming: a creative platform. One where students are encouraged to explore ideas in a familiar environment, while seeing the tangible results of their efforts.
Minecraft Pi uses an application programmer interface (API for short) that allows programmers to interact with a Minecraft game world. Students can combine the API into their own Python programs to do things like place blocks, teleport the player or access hidden features like chat. For example they can create a castle with code in a few seconds, instead of building it by hand (which takes ages). Using Minecraft Pi to help students learn programming has the potential to be very engaging and effective.
That is why I have developed a book of resources to teach Python programming with Minecraft Pi.
The Book
The book consists of a series of exercises and documentation developed to test a student’s understanding of Python and also develop their problem solving skills. Each chapter uses differentiation, challenging students with more complex exercises as they progress and offers a number of extension tasks for every exercise. The content was developed to be used alongside Codecademy’s Python track and has documentation for each concept introduced.
Codecademy is my favorite resource for learning to program. Instead of rewriting the wheel, I decided that students should complete a Codecademy lesson and then attempt the corresponding exercises in the book. The exercises draw from the same Python concepts introduced at Codecademy, yet require the students to develop stronger problem solving skills.
The book is free to use and is open source. This means you can share it with whoever you want without giving me any money. The source of the book will be available in the near future if you want to modify it. A teacher’s answer book and an API reference sheet are also included.
Right now the book is incomplete, especially in the later chapters. The vast majority of content is there, some bits are missing, and a lot of it needs polishing. I am just about to start teacher training and won’t be able to dedicate any time to the book for the next few months. After previewing the book to a number of people at the York Raspberry Jam, the demand was so great that I decided to release it as soon as possible so that people had access to these resources. I do plan to finish the book, I’m just not sure when I will have the time. If you are interested in helping to further develop these resources please get in touch.
Any constructive feedback is very appreciated. Please let me know if you decide to use the resources in the classroom or in a club as I would love to hear about it. Feel free to adapt the resources to your own needs and please share them with others.
Download
The files are really small despite the number of pages. Small enough to fit on a floppy disc. I’d recommend copying the main book onto each student’s Raspberry Pi, keep the teacher notes to yourself (which contain all the answers) and print a copy of the cheat sheet for each student.
Student Exercise and Reference Book
Teacher Notes
API cheat sheet
Other Minecraft Pi Resources
Martin O’Hanlon’s Minecraft Pi Programs
David Whale’s Minecraft Pi Flashcards
Just to note, I am not affiliated with the Raspberry Pi foundation, Mojang/Minecraft or Codecademy. They probably don’t endorse these resources.
[…] If you are interested in learning more about Python programming with Minecraft Pi or using it in a classroom/club, check out my free book that is available here. […]
[…] Have fun with Minecraft Pi. If you want to learn more about Minecraft Pi, check out my API tutorials. I have also written a free book for learning Python programming with the Minecraft Pi API that is available here. […]
[…] Have fun using these methods, they will save you loads of time when you’re building in Minecraft Pi. If you want to practice these methods while creating some useful programs check out my free book. […]
[…] we decided to get our heads together. Shortly afterwards Craig sent me what he had been working on. And here it is. It’s so good that I haven’t got anything glib to say. It’s a …read […]
[…] zelfstandig kunnen doorwerken, maar ook ingezet kunnen worden bij lessen in school. Je kunt het geheel hier vinden. […]
This is such a great resource, thank you. I’d also recommend
http://www.learnstreet.com as a good (and free) website in addition to codeacademy.com.
Awesome reasource! May I ask, does the API exist on the Mac version of Minecraft? i would like to work through the book while on the bus each morning/evening and that would be easier on my macbook. -thanks
There is a project to port the Minecraft Pi API to regular Minecraft. It’s called Raspberry Juice http://dev.bukkit.org/bukkit-plugins/raspberryjuice/
I don’t know that much about it, but it’s definitely worth a try. Let me know if you’re successful in getting it to work.
“If you want your children to grow up bright, read them fairy tales. If you want them to grow up very bright, read them more fairy tales.”
–Albert Einstein
I don’t know why you share this for free or why you spent all this time on doing this. But i am a 15 yr old student from Sweden (where we learn effin nothing about computers in school), and i think i love you. ish.
[…] Hi all, I'm sure a lot of you will already have seen this, but I spotted it over the summer and have started working through it with my daughter – she's loving it! Might be an idea for any of you who run (or plan to) coding clubs or have little ones of your own to teach. Heck, it's not a bad way to teach an adult the basics! Python Programming with Minecraft Pi: Early Draft | arghbox […]
[…] http://blog.whaleygeek.co.uk/minecraft-pi-with-python/ http://www.stuffaboutcode.com/p/minecraft.html https://arghbox.wordpress.com/2013/06/13/programming-minecraft-pi-with-python-early-draft/ […]
Thank you so much as a teacher who is in over his head having convinced my school to get a class set of pi’s (inspite-of not knowing how to program) I have been in a steep learning curve, Fantastic fun but lots of work. You book is a great help, students using it in a couple of weeks. Cheers
I’ll be using this myself to learn Python. Thank you!
[…] comes complete with a fully supported educational guide for teachers, parents and homeschoolers. Python Programming with Minecraft and the Raspberry Pi – With a little bit of technical acumen, it is easy to adapt this to non-Pi computers. The […]
This looks massively useful. Thank you.
Bravo! This is very very cool.
Hi Craig,
I was wondering if there has been an update to the first draft. I’m just about to set this up for my neice and wanted to make sure I’d got the latest version.
Hello, kudos to you sir. Can I please echo Jim’s question above? It would be splenid to have a later draft, should one be in existence. I’m going to take my daughter through this over the Christmas hibernation period. If you need volunteers to assist in any way, please shout. Many thanks.
I run an after school club teaching programming on RaspberryPi. I’ve been getting my guys through the basics using MinecraftPi, but just working it through on my own. Having a pre-built scheme (like, say, CodeAcademy) then tailoring examples to an exciting example (like, say, Minecraft) is GENIUS! I’m going to be looking into using this, for sure.
As an ex-programmer myself, I’d be delighted to contribute in any way I can to the text. Are there specific places you’d like me to work through and think about, or should I just start at the beginning with my pupils and see what we come up with?
[…] how cool is that?! In fact, somebody has already written an introductory, free Python programming ebook that uses this Raspberry Pi/Minecraft combo (called Minecraft Pi) that teaches you how to do things […]
Hi
I am planning on using your book in a class in few months and am putting together some resources. Could you send me an email so I can send you some items for review/inclusion in your book?
Thanks
rgb
You can find my email address on the About page on this site.
C
[…] Programming Minecraft Pi with Python — an early draft, but shows promise for kids. (via Raspberry Pi) […]
[…] "Teaching Python with Minecraft" web book – my daughter really enjoyed this, she's 10. Python Programming with Minecraft Pi: Early Draft | arghbox I'm not planning on really having any limits as to ability levels as I want this to run more as a […]
[…] otra gran fuente que hemos utilizado ha sido el borrador del libro de @craigargh que constituye un primer intento de estandarizar la enseñanza de la programación […]
[…] we decided to get our heads together. Shortly afterwards Craig sent me what he had been working on. And here it is. It’s so good that I haven’t got anything glib to say. It’s a magnum […]
Reblogged this on Minecraft 18.
[…] okrog Raspberry Pija, ste verjetno že opazili Craiga Richardsona, učenjaka Minecrafta (na tej povezavi je na voljo njegova brezplačna knjiga o učenju z Minecraftom, ki bi jo morali prebrati vsi […]
[…] When I first heard that Minecraft would be released for the Raspberry Pi I punched the air. The nice people at Mojang had just given me the perfect platform to teach students programming: a creativ… […]
[…] of all things Pi will have noticed that Craig Richardson, Minecraft savant (here’s his free book on teaching with Minecraft, which should be required reading for all teachers – and here are some recipe cards […]
This is a fantastic idea and resource. Python is so dry and lacks visual appeal but such a nice language. This will hopefully engage my students far more. I look forward to using it. Thanks.
Craig. thanks for this wonderful resource. I am attempting to implement this at a small school in Sarasota, Florida USA. However I find that the Code Academy Python course is not functioning properly when I access from Midori on the Raspi. Should I use a different browser or a different computer, or is there a way to make this work.
Hi David. Perhaps try installing Chromium browser. I think it might work, though I haven’t tested it in a while. I’m also rewriting the entire book so that it isn’t dependant on Codecademy. It should be published later this year.
Hi Craig, I am working on starting a small extracurricular computer science school in the U.S. I’d love to use the Python/Minecraft resources you’ve created. The school will be a for profit (although I doubt I see any profit for a few years). I’m just at the beginning of my endeavor, so materials like those you’ve created would be a big help. Thank you, Jennifer
Feel free to use them. The non-commercial part was to stop people printing and selling the resources without my permission among other things.
Can more than one student be logged in to a Pi concurrently and work with Minecraft Pi? Would a higher-capacity SD card be of any use?
I would like to be able to have four students at a time logged in via VNC to a single Raspberry Pi…has anybody worked with this?
[…] Python Programming with Minecraft Pi: Early Draft by Arghbox (PDF) [View / Download] […]
[…] a quick glance, Craig Richardson’s idea was really good. Using the Python track of Codecademy, this workbook […]