1 of 49

For Complete Blockheads -- Using Minecraft to Teach Coding to Middle Schoolers

2 of 49

Minecraft for Complete Blockheads

CSTA July 2015

Bob Irving

Porter-Gaud School

Charleston, SC

Let’s code!

3 of 49

What you can expect

  • What this won’t be
    • one size fits all
    • The Answer
  • What it will be
    • an overview of 8 current approaches to teaching coding with Minecraft
    • what worked for me in my situation
  • YMMV, IMVHO, yada yada

4 of 49

What you can expect(2)

  • Me me me
    • Not a computer scientist by training
    • Taught English and history for a long time
    • Always an early tech adopter
    • Went back to school to learn “e-business”
      • learned coding, databases, Java…
      • still bear the Java scars
    • Have done tech integration, robotics coaching, CS…
  • Not a pro dev ….

5 of 49

What you can expect(3)

  • and not a Minecraft expert
    • my 6th graders have forgotten more than I’ll ever know
    • I feel like Alice… curiouser and curiouser….

6 of 49

Mini rant

<rant>

I’m a teacher who spends all day with middle school kids. A select few are coding whizzes, but most are pretty average.

So I’m always looking for what will actually work in an actual classroom with actual middle school kids.

</rant>

7 of 49

My situation

  • I teach CS in grades 7-9 in a smallish independent school, Porter Gaud, in Charleston, SC
  • Scratch and LEGO robotics in 7th
  • Python, App Inventor, and Scribblr robots in 9th

Needed a bridge from blocks to text in 8th

8 of 49

The bridge in 8th grade

  • We start with GameMaker 8.1
    • they make a simple arcade-type game using DnD
  • Then some Small Basic
    • Logo Design project
    • incorporates some art skills, then coding to manipulate text and objects
    • Turtles!
  • Might be replaced by Minecraft coding next year

9 of 49

I was looking for….

  • Accessibility for first-time coders
  • Ease of setup and running
  • Enough MC goodness to draw them in
  • Good language support --
    • Understandable error messages
    • Accessible syntax
    • Write/save/run/debug cycle not too onerous
  • Lends itself to project-based learning

10 of 49

Why Minecraft?

  • Meet them where they are
  • I’ve never seen anything capture kids’ imaginations, willingness to work, creativity
  • Find something that they want to accomplish and it’s much easier to teach them
  • Notch’s story is such a great one!
  • They know what mods are and how awesome they can be

11 of 49

Command blocks

This humble block

can do amazing stuff!

You can do very simple things (like speaking to a player or players, giving them items) to complex construction (like building airships or remote control robots).

12 of 49

Command blocks(2)

The GUI: not super friendly! Has about a 32,000 character limit

​

13 of 49

Command blocks(3)

  • Pros
    • built in, no mods necessary
    • quite powerful
    • some coding constructs, like testfor
  • Cons
    • Editor and debugger are beyond clunky
    • MC syntax changes so you have to be careful what version you’re running
    • Language is kinda wonky

14 of 49

Youth Digital -- Modding in Minecraft

An online course that teaches modding in Java, aimed at ages 8-14(!).

$250

​

​

15 of 49

Youth Digital(2)

  • Pros
    • It’s real Java code
    • Hilarious teacher
    • Hides complexity or at least doesn’t do anything with it
    • Provides a LOT of working code and focuses on small things
    • Quizzes, achievements, unlocking prizes, etc.

16 of 49

Youth Digital(3)

  • Cons
    • It’s real Java code -- elephant in the room.
      • Java? 8 year olds? Seriously?
    • Not for your “average” middle school age student
    • Wouldn’t work in a classroom setting
  • Having said that…
    • I did about half of it and loved it
    • Recommended it to some advanced students

17 of 49

LearntoMod

Just launched this year, has gotten lots of press. Uses Blockly and then Javascript.

​

18 of 49

LearntoMod(2)

  • Pros
    • Free for schools (so far)
      • 2 hours per day
    • Badges!
    • Private servers per student
    • Has both visual and text-based coding!
    • Over 100 lessons
    • Fun things to do

19 of 49

LearntoMod(3)

  • Cons
    • So much material (a personal con)
    • Server issues
    • Student interest was pretty high but seemed to taper off quickly for some reason
  • Having said that….
    • I’d definitely recommend it if it fits in your situation
    • and they will address the server issues… they are working on that

​

20 of 49

ComputerCraft mod

Also starts with visual interface, students can move to text when ready (uses Lua). Students program on a computer in Minecraft on their computers… mind blown. Whoa.

​

21 of 49

ComputerCraft mod(2)

  • Pros
    • tight integration with new MinecraftEdu, so works well in classroom setting
    • Great setting for learning -- Turtle Island

22 of 49

23 of 49

ComputerCraft mod(3)

  • More pros
    • Built in challenges
    • Kids enjoyed it
    • Kept students from tromping off and building/destroying random stuff
    • They can transition to text-based coding when they are ready, move back and forth
    • Made for a class to do at once -- the MinecraftEdu model

24 of 49

ComputerCraft mod(4)

  • Cons
    • turtles can basically just do mining, farming (some fighting), but kind of limiting
    • plus turtles aren’t really part of most people’s Minecraft experience. Student comment… “when are we going to do real Minecraft?”
    • almost too easy to go back to visual programming if students get frustrated with text

25 of 49

Scriptcraft Mod

Javascript based, uses CanaryMod, starts with basics and goes to Java, JSON, objects, persistence…..

  • Pros
    • Excellent intro to programming: pretty gentle, thorough
    • Easy install
    • Covers some basic MC server maintenance: griefing, TNT, lava, blocking users

26 of 49

27 of 49

Scriptcraft Mod

Cons:

  • Requires some comfort level with command line and terminal
  • Some students might get frustrated because it takes a long time to do cool stuff in Minecraft!
  • For my purposes, probably too advanced

28 of 49

Redstone

It’s the MC version of electricity. Can be used to power all kinds of things.

Pros

  • In game. No mods needed
  • Great learning tool for circuits and electronics, logic gates
  • Creative uses: traps, pistons, railroad carts, lights…..

29 of 49

Redstone

Cons

  • Appeals only to a certain segment of kids
  • Isn’t what some connect with a “regular” Minecraft experience
  • Won’t appeal to everybody -- more the train set crowd -- engineering heavy

​

30 of 49

Canary Mod and Flaming Cows

Java-based. Thorough. Starts with setting up bash, learning command line and shell. Goes through programming basics while teaching Java. Fairly gentle learning curve.

31 of 49

Canary Mod and Flaming Cows(2)

Pros

  • Gentle learning curve
  • Fun projects!
    • flaming cows
    • lava vision
  • Comprehensive
    • git
    • how to install a cloud server

32 of 49

Canary Mod and Flaming Cows(3)

Cons

  • Don’t see this working for a MS class
    • shell might be overwhelming
    • @EventHandler

​

33 of 49

@EventHandler

public void onInteract(PlayerInteractEvent event) {

if (event.getAction() == Action.LEFT_CLICK_BLOCK ||

event.getAction() == Action.LEFT_CLICK_AIR) {//(2)

final Player player = event.getPlayer();

if (player.getItemInHand().getType() == Material.LEATHER) {

Location loc = player.getLocation();

Vector vec = loc.getDirection();

int mult = 3;

vec.setX(vec.getX() * mult);

vec.setY(vec.getY() * mult);

vec.setZ(vec.getZ() * mult);

final Cow cow = player.getWorld().spawn(loc, Cow.class);//(3)

cow.setVelocity(vec);

cow.setFireTicks(20);

BukkitRunnable runnable = new CowTask(player.getWorld(), cow);

runnable.runTaskTimer(this, 0L, 0L);

}

}

}

}

​

​

34 of 49

“Mython”

Saved the best for last. Stumbled upon it almost by mistake. Basically a combo of Python, Bukkit, Minecraft for the Raspberry Pi. However, they have a release that can run on Windows. So I did. Lots of setup involved in my lab. I named it “Mython”.© All fights deserved.

35 of 49

Mython(2)

Pros

  • Kids loved it. “This is about 4000 times better than the other stuff.”
  • Code/run/debug cycle fairly intuitive.
  • Error messages not too cryptic
  • Fun things to build with minimal code
  • Python language made sense to students

36 of 49

Mython(3)

More pros

  • Expandable activities
    • take the basics and do something creative and cool
  • Individual worlds
  • Seemed more like “real Minecraft” to students
  • We’re moving to Python next year for 9th grade

37 of 49

Mython(4)

Cons

  • Setup on PC’s in my lab required some craziness to run Bukkit. Not sure why.
  • “Tromping off” temptation. Need to work on managing that better next year.
  • Somewhat limited API so far.
  • Wow, that’s not very many cons. You can see why it’s tops on my list.

38 of 49

Conclusions

  • Again, YMMV. I hope I’ve given you some starting points.
  • I don’t see this going away any time soon.
  • I’d be crazy not to explore this: student motivation + coding coolness = win!

39 of 49

40 of 49

Resources

All of these authors are accessible and very happy to help, in my experience. Several have forums that they check regularly. I’ve received personal emails, DM’s, etc. from quite a few of them.

General help -- the Minecraft wiki . Comprehensive source for playing, building, modding

41 of 49

Resources(2)

Command blocks --

SethBling’s YT channel -- fabulous tutes on command blocks and lots else.

MrGarretto -- great website with links to his YT and Reddit pages. Also his own Custom Command Combiner!

42 of 49

Resources(3)

Youth Digital -- also has server design with Minecraft, fashion design, 3D, game design…

Can’t speak to them all, but Justin does a great job with Mod Design. Lots of built in help and live support.

Groupon discounts available at times, so check on that.

43 of 49

Resources(4)

LearntoMod -- still free for educational use.

$30 a year for unlimited access.

Sarah Guthals, one of the co-founders, is here at this conference.

Her email.

@sarahguthals @learntomod @LTM4Educators

44 of 49

Resources(5)

ComputerCraft

MinecraftEdu -- brand new version of ComputerCraftEdu which runs in MinecraftEdu

dan200 -- his email.

​

45 of 49

Resources(6)

46 of 49

Resources(7)

Redstone

Minecraft Mastery -- great book. Website has code downloads, videos….

Minecraft wiki page

Redstone Innovation -- inspiring YT channel

47 of 49

Resources(8)

Flaming Cows -- the book

The forum

​

48 of 49

Mython

49 of 49

Me

Bob Irving

Porter-Gaud School

Charleston, SC

(birving@portergaud.edu)

@birv2

www.bob-irving.com

http://www.scoop.it/t/on-the-digital-frontier

​