The whole crew, complete with jazz hands.

Just spent a weekend in Baltimore at #picademy, a 2-day workshop presented by the Raspberry Pi Foundation for 40 teachers. And I have to say it’s near the top of a lifetime of PD experiences. Amazing instructors, an inspiring venue (shout out to the Digital Harbor Foundation), and a cohort of 40 enthusiastic, dedicated, funny, thoughtful, creative teachers. Couldn’t ask for more!

A picture of me taking a picture….

And school starts this week! I have 20 brand new Raspberry Pi’s, thanks to the generosity of the parents group at the Porter-Gaud School, and I can’t wait to get these Pi’s cranking!

What I hoped to get from Picademy was some practical ways to introduce the Pi’s and some ideas for extending Pi skills in the class. Whoa! I got all that and more! And in the best way possible… by experience. We were thrown in the deep end, coding Sonic Pi, Minecraft, lighting LED’s with Scratch and Python…. and even though I had some experience with some of this, I was challenged and inspired. The great thing was to see people with no background in computer science jumping in and trying to make new and cool stuff. On the second day, we have 5 hours to come up with something original. My amazing partner @scratch_boulder (Mai) and I made a Minecraft phonebooth that was triggered by a button or motion sensor, took a selfie, and then built that selfie in the Minecraft world. So much fun!

Our selfie worked! Props to @scratch_boulder for being such a great partner!

And now on back to Charleston. Tonight is back-to-school night for the middle school, with games and general mayhem in the gym. School starts For Real in a few days.

But I hope to keep that spark alive and stay in contact with my new tribe. Once more into the breach!

Hal Abelson Keynote: MIT App Inventor Summit 2016

summit2016Every once in a while I read or hear something that literally makes me sit up and take notice. Hal’s keynote was one of those events. In a few brief moments, he sketched the development of the relationship between children and the computer. He was a participant and eyewitness from the late 60’s, a colleague of Seymour Papert’s, and a creator of some of the early incarnations of the Logo programming language.

Those of us in this field of computer science, especially those who teach it to children, owe a huge debt of gratitude to these pioneers. I also got to meet another giant in this field, Cynthia Solomon, another colleague of Papert and Marvin Minsky. What Hal did in 15 minutes was to trace the development of the connection between children and computers from the earliest days to the present. But it was no mere historical journey. He highlighted recent innovations, like the Internet of Things and physical computing, as well as mobile computing. Now the tools for creation in these areas are in the hands of young people, App Inventor being a very accessible drag and drop programming interface for mobile apps.

Young people of all ages now have in their pockets tools which they can use to shape the world in which they live. We saw one fabulous example of young girls in Moldova tracking water quality and then crowdsourcing the results. Present at the Summit were many young creators. I was particularly impressed with a group of 6 12-year-olds who created an app for autistic children, their parents, and their teachers. It was astonishing in its design and usability.

Hal not only traced the past, but laid out the present landscape of computing and children, and he pointed the way forward. We have truly entered into the next phase. It was such a thrill to be at MIT where so much of this started. I feel truly honored to be a part of this!

MIT App Inventor Summit 2016

app-inventorI’m here in Boston at the MIT Media Lab. First, how cool is that? I’ve read about this place for years, and to actually be here is a privilege.

Secondly, it’s ground zero for App Inventor folks: teachers, students, professors, developers, parents and kids…. the wide spectrum of attendees speaks to the almost universal appeal of App Inventor. If you’re not familiar with AI, well, it’s time to get started! It’s a drag and drop interface that enables anyone from coding newbies to accomplished devs to create mobile apps. It runs only on the Android platform right now, but there is a product in the works called Thunkable (no, I don’t know why) which will work with iOS.

The great thing is that it is a wonderful tool for teaching coding. And in spite of what some might say, it’s real coding. True, it’s not text, but it has a wide selection of components and tools that will allow you do to some very cool things. And then you can perhaps sell it on the Play Store.

But what really resonated with me was the keynote by Hal Abelson. And that deserves its own post!

Book Review: How to Code in Minecraft by Jim Christian

howtocodeinminecraft_coverThere’s a lot of stuff on the web and in print on how to code mods in Minecraft, most of which requires a fairly hefty investment of time in learning Java. And that right at the outset eliminates a lot of beginning coders. What we need are some entry points for beginning to intermediate coders, which most people who are hooked on Minecraft are. I’ve found Minecraft appeals to all ages, but particularly to the 8-12 age group.

Enter Jim Christian’s excellent book: How to Code in Minecraft. In 146 colorful, jam-packed with coding and Minecraft goodness pages, Jim has given the beginning and intermediate coder a multitude of entry points into doing more than just playing Minecraft, but actually coding it.  He lays out a steady progression of skills, starting with everyone’s favorite intro coding language, Scratch. He then moves to text-based coding with Python, which I’ve found in classes is a logical progression.  From there, he introduces the popular ComputerCraft mod, which uses the Lua language. Along the way, he shows the reader how to set up a free Minecraft server, how to set up and use various development environments, and points the reader  where to go after mastering the skills in this book.

Jim doesn’t leave out teaching basic programming principles, like variables, functions, loops, and events. But it’s so much fun along the way that it’s an excellent example of what I call “stealth learning”. Sure, you could give kids lessons on those topics, but they’ll be way more engaged if they’re setting traps, setting off fireworks, and creating their own in-game games! Instructions are clear with an abundance of colorful illustrations. Jim also leaves blank pages for notes at the end of each chapter, as well as suggestions for expanding the student’s knowledge with fun challenges and projects.

If you’re looking for a solid, comprehensive introduction to coding in Minecraft for your class, club, after-school program, or for that Minecraftaholic in your family, you’d be hard pressed to do better than this book. My only complaint is that it’s not yet available on Amazon in the US!

How to Code in Minecraft — Jim Christian ISBN 1-78106-519-5

Planning the Raspberry Pi invasion

raspberry-pi-logoIt’s the next to last day of school. So naturally my thoughts are on next year! I’m still in “school mode” and not in “summer mode” quite yet. Give me a few days…..

I’m planning to inject some serious Raspberry Pi goodness into my middle school curriculum next year. It’s exciting and terrifying all at once. So what’s exciting? I truly believe in the mission of the RPi Foundation…. bringing hands-on computing to students today. And I believe that the Pi is the best way forward and will bring back some of the excitement that many of us felt when personal computers were brand new.

And what’s terrifying? Truthfully, it’s the sheer magnitude of what you can do with these things.  Go through the forums, follow people on Twitter, read the MagPi magazine, and you’ll be overwhelmed with what you can do with these things: refrigerator monitors, space exploration, weather stations, Twitter feeds, Minecraft coding, live music coding, electronics, sensors, oh my! The list goes on and on.

Fortunately I ran a Creation Station club this year, where I got students to experiment with various projects on the Pi (among other things), so I have some ideas of what might work. I’ve got 20 Pi 3’s, and 20 Sense HATs. I figure that right there should give us enough to play with for year one. I also have an assortment of one-off pieces: floras, cameras, etc. So any of those might spark serious interest, too.

Along with those ideas, I’m also working on logistics — where do I store them, how do I share them between classes, how do I back up student work, how do we run them in our iMac lab…..

Stay tuned for further updates over the summer! Also hoping to be chosen for August’s Picademy in Baltimore!

Hacking the HackPack

minecraft-pythonAs promised, here’s the skinny on my current Mython approach. I can’t really claim credit for most of it, as I’m using the Adventures in Minecraft book by Whaley and O’Hanlon, as well as some great starter code by Ben Davies, @ncscomputing, and others in GB.

I have three “hackpacks”, which are packets of sample programs that I print and distribute to students. They basically copy the code and run it. After they complete all those successfully, they then use a “reverse hackpack”, which consists of coding challenges based on the programs they just finished. Most have some minor changes required, but all are extensions and applications of the code they did. When they can successfully do that, I sign off on each challenge. I usually ask them to explain something in the code to be sure that there is understanding of what the code is doing.

There are a few spots that I actually “teach” to the whole class, though I try to limit it to 10 minutes maximum. One of those spots is the while True loop in Python, and the other is for loops. Everything else is addressed individually or in small groups as needed (“just in time” learning).

So far I’ve been very pleased with the level of engagement, effort, and learning. It’s the first iteration, so I’m fine-tuning as I go, of course!

Mython — next time around

hackmythonJust started my unit on coding in Minecraft. It’s 8th grade and their first introduction to text-based coding. Scaffolding — they’ve all done Scratch and LEGO robots in 7th grade, and GameMaker in 8th grade. So this is our first dive into the deep end…..

I’m using what I call Mython (Minecraft and Python), based on the Adventures in Minecraft book by Whaley and O’Hanlon. I gave out a packet of 8-9 introductory Python programs which they typed in. the purpose was to get them used to typing code and learn some basics along the way. The programs are from the Adventures book mainly and do things like display text in the chat, track the player’s position, and build things. I don’t expect them to understand it all.

Today I introduced what I call Reverse Hackpack #1. It’s a series of coding challenges that are slight modifications of the code they already did. They have to figure out how they did something like that in the previous code and then make changes. I’m making badges/stickers for completion, and they have to explain the code to me to earn their badge. Here’s a link to that if you’d like it.

This is my first try at this approach but I’m liking it so far, and the kids seem to be not only enjoying it but learning. As I told them today, “If you’re not frustrated, you’re not learning!”

Wearing Different HATs

If you’re a Raspberry Pi fan, you already got the joke. If not, well…… a HAT for a Raspberry Pi is Hardware Attached to Top. Get it? OK, it’s geeky humor…

skywriterAnyway, I just got three brand-new HATs to play with: the Pimoroni Skywriter HAT, the Piano HAT, and an LCD touchscreen (Pi-size). I’ve only had the chance to play a bit with the Skywriter, which has near-field 3D gesture detection (think I got that right), and I’m dying to get that X-Wing built in Minecraft and then fly it by hand gestures above the HAT. I spent about an hour, getting the Skywriter library, trying to use some code (here’s the project: http://robotsandphysicalcomputing.blogspot.com/2016/01/guesture-controlled-minecraft-x-wing.html), finding it needs an extra Minecraft Pi library called minecraftstuff, figuring out where the minecraft api on the Jessie distro is…. so I’m still grounded. However, we’ll be taking off next week for sure!

Pimoroni-Piano-Raspberry-Pi-HAT-1The Piano HAT allows you to “play” the piano on your Pi. The really cool thing is that you can do all kinds of music with it, but you can also code the keys to do anything else you want — make weird noises, turn lights on and off, turn motors on and off…. Can’t wait to play with that one!

And the LCD screen frees you from a monitor and keyboard for your Pi. I personally find it just too tiny for my eyeballs, but I can see it working with an embedded Pi doing all kinds of cool things — retro gaming, a DJ system….

Did I mention I’m also diving into using Sonic Pi (live music coding) in Minecraft? The Sonic Pi api includes some Minecraft stuff (written in Ruby), so you can lay down some beats with Sonic Pi, then build stuff as you move around in Minecraft, synchronized together! It’s just too cool for words.

So I’m getting ready for next year’s classes when we move much of my curriculum over to the Raspberry Pi. Look out!


winterim_screenshotThe middle school at Porter-Gaud always starts the second semester with a great program called Winterim. It’s three days of programs that the students choose. Some are out of town, like going to Costa Rica, and some are in town. Several have a service component (mission trips, helping out at a local daycare or animal rescue). Several are just for fun (ropes courses, etc.). The last two years I have offered a 3-day intensive tech “camp” that I call TechFrenzy (shameless plug: that’s also the name of my YT channel.

Seventeen students signed up (14 boys and 3 girls, which is 3 more girls than I had last year). I’ve divided it up into one activity per day. Day 1 is NXT robots, culminating in The Grand Intergalactic Sumobot Challenge. Day 2 is Game Design. Day 3 is Minecraft. Here’s how it turned out….

Robots — those of us who teach robotics know the allure of making and programming your own robot. It’s the Secret Sauce! I’ve been doing it for over 10 years now. One of my fellow teachers, when he heard this (he teaches Latin) said, “Dude, you’re cutting edge!” I’d never thought of it like that….

But students love it! And when you combine that with The Grand Intergalactic Sumobot Challenge, well, you’ve got yourself some serious fun. I had a teacher who was down the hall tell me that the sounds coming out of my classroom were about the happiest sounds she’d ever heard! Aww….

Game Design — With a range of grades 6-8, and several levels of experience with creating games, I opened this up to student choice for the program they chose. Several used Scratch, quite a few used Kodu, a couple used GameMaker, and some used the PixelPress app on their iPads. Several students experimented with multiple environments. We finished the day with everyone sharing what they had learned, and then we played each other’s games. Who says learning can’t be fun?

Minecraft —  saved the best for last, of course. Again, we had a range of Minecraft experience from beginners to ultra hardcore types. It’s sometimes difficult to please everyone, but I decided to start out with a creative world in MinecraftEdu. The older laptops we were using were fairly laggy (4 fps!), and there were the usual requests for TNT, lava, monsters, PvP, etc. However, we stuck with that world and by lunchtime, no one wanted to go eat! They had created all kinds of amazing stuff, including some beautiful houses, a town hall, some beautiful pixel art (see above), and some redstone trickery.  For the last two hours, we moved to my lab with my more modern computers and I allowed them to check out Hypixel and Mineplex.  This made for some loud and raucous competition, and I think everyone left satisfied. And I felt even more convinced that my approach of “stealth teaching” really does work.

Now back to “real school” on Monday!

Finding the best coding language for beginners (revisited)

pythonProbably the most visited article on my site here is the original post on this topic. I wrote that about a year ago, and my conclusion was that Small Basic fit the bill best. It was written for beginners, had autocomplete, a syntax that made sense out of the box. Plus turtles!

However, I’m revising that assessment now. I still like Small Basic for all those reasons. But the introduction of two new approaches has made me rethink this (and what kind of teacher would I be if I wasn’t always willing reevaluate what I’m doing?). The two new gateways into coding that I’m using are Minecraft and the RaspberryPi. And I can do Python with both.

In some ways, Python isn’t as user-friendly as Small Basic. Indentation can bite you big-time, and while True loops don’t make sense to kids right away. But once you get those concepts at least manageable, and you get used to the syntax, the language itself makes a lot of sense to kids. Also, no curly braces! Plus it’s a language that kids can grow with. It’s a great beginner language, and it scales all the way up to professional. Sure, it’s not Java or C++, but there are jobs out there that require Python. And I have seen students move from Python turtles to Python Minecraft to programming sensors on the Raspberry Pi in Python.

And that’s a huge win. So, for now, I’ve got a new best coding language for beginners!