Search This Blog

Saturday, January 14, 2017

Constructing Colonial Technologies in Minecraft Pi

Yesterday I wrapped up my first Minecraft Pi programming unit with a class of 5th graders. I was looking for a group of students to try "hacking Minecraft" with on our Raspberry Pis, and their classroom teacher wanted to take last year's Minecraft Colony project and kick it up a notch-- we found a match!

The progression of the unit:

  • Day 1-- Scratch project
    • The first day that I met with the 5th graders we started with a Scratch project. The students had already been introduced to coding via Code.org lessons and some had dabbled in Scratch. I wanted to spend our first lesson building off their background knowledge to teach a couple of programming concepts that we'd use in our Minecraft projects.
    • Using a hyperdoc as their guide, students were challenged to create animations about fractions in Scratch.
    • In the process, we discussed coding and mathematical topics we needed for our Minecraft project including loops, coordinates & number lines, algebraic thinking, wait/sleep time, and events to name a few.
  • Day 2-- Code Monkey
    • I wanted to lead up to text-based coding with some guided practice.
    • Students used Code Monkey-- a gamified way for students to learn how to write commands for a sprite, or in this case a turtle, using text. 
    • Using Code Monkey helped students learn the importance of spelling, punctuation and syntax in coding.
  • Day 3 & 4-- Intro to Minecraft Pi and Python
    • Using resources from the Raspberry Pi website and my experience at Picademy, I put together an introductory lesson for the 5th graders on "hacking Minecraft" (an evolving work in progress). 
      • Students learned how to teleport, post a message, set a block, and set a rectangular prism of blocks using Python.
    • Over the course of two class periods, students worked in small groups and learned about the Raspberry Pi computer, inputs/outputs, variables, x/y/z coordinates, loops and conditions.
  • Day 5-- Create a Colonial Technology in Minecraft Pi
    • Students' final task was to use what they'd learned in their history units and in our coding lessons to construct and describe a colonial technology in Minecraft.
    • Students first reviewed how to post messages and set blocks in Minecraft Pi using Carrie Anne Philbin's videos.
    • Then, students were required to sketch out a building on grid paper, with dimensions, that they wanted to construct, either independently or with partners.
    • Next, students had to plan out the code that they would use to construct their first colonial building.
    • Once the students' plans were approved, they got together with their project group to start coding.
    • After programming their first building, they moved on to constructing a technology that they thought was important to colonial America. Students had to decide the best (most effective) way to construct their technologies using Python. 
    • Some of their ideas included:
      • Setting a cuboid and then cutting out parts of the cube to shape their technology
      • Programming their character to drop blocks behind them and then moving their character around to quickly construct the shapes they needed
      • Another team set blocks manually to create their colonial tool, but successfully programmed a message to appear and describe their technology

What students learned:

  • How to debug, edit and revise their work
  • 3-dimensional coordinate planes and how to move along the plane
  • Basic algebra concepts
  • What variables are, and their role in writing code
  • Events, Arguments, Conditions, Loops
  • Grit and persevering through challenging work
  • Basic Python commands
  • How to draw on information from multiple sources and how to read and comprehend informational/technical text
  

What I learned:

  • 10 year-olds CAN program in Python-- they were amazing!
  • Groups of more than 3 students per Pi was too many. I like students programming in teams, but more than 3 students per group and it's hard for the kids to find something for everyone to do (I'd already experienced this issue with a younger set of students, and it was confirmed with this older group).
  • 30 kids was a lot to try to teach coding and physical computing to all at once. I think my threshold is about 24 students. More than that for these lessons, and I could use a co-teacher.

Lesson Resources:


No comments:

Post a Comment