Friday, July 25, 2014

Adventures in RetroPie


One of my goals with Raspberry Pi was to turn it into a vintage gaming console like the video above. I tend to be seduced pretty quickly by cheap ways of using interesting technology. The video can be found with more detailed written instructions on Lifehacker.com. Unfortunately, for the total noob like me, there are lot of little steps a long the way that made this "easy" project take way longer than prescribed.

Step One required me to download and install RetroPie on a SD card. RetroPie is the software that allows the Raspberry Pi to be used as a multi-platform vintage gaming console. The installation was not a simple drag and drop action. Lifehacker suggested using RasPi SD Card Builder for the Mac. One tutorial noted that Card Builder caused problems for some people. I, of course, am some people.

RasPi SD Card Builder seemed to stall about 3/4 of the way through the process. I made multiple attempts. A couple of times I received the error below.

Noob that I am, I wasn't sure  how to fix the problem. A couple tutorials suggested beginning a Terminal session on my Mac to build the SD card. However, they also mentioned being EXTREMELY careful. Entering the wrong syntax could cause major corruption to my Mac if I did things wrong. I really didn't want to cause total system failure just so I could play Super Mario Brothers and Excitebike.

Against, my better judgement, I began a Terminal session. I was very careful and followed the instructions from Tuts+ for flashing an SD card from Terminal. It really wasn't difficult, but the looming threat of a corrupt Mac had me worried. For the next 20 or so minutes, I starred at the window below.

In Terminal, there is no status bar. No blinking cursor. No spinning wheel. Nothing. You just wait. And hope that something is happening. And hopefully that something, isn't completely catastrophic to your hard drive. Multiple tutorials for RasPi setups use the phrase "this may take a few minutes, be patient". Unfortunately, "a few minutes" is really vague. Sometimes it means 2-3 minutes. Other times, it means more like 20. For flashing this particular image, it meant 45 minutes. By the time it was done, I was ready for bed.

The next morning I attempted Step Two and booting RasPi to boot up Emulation Station. Emulation Station is like an OS that manages multiple vintage gaming console emulators. You can load NES, SNES, Sega, Atari, and several other systems and play any ROMS (games) that you may have. Step two is not particularly difficult, other than setting up your "Internationalisation Options". Setting up your keyboard properly is essential to making things work. My Apple keyboard proved to be a little troublesome at first. But with some tweaks, I think I figured it out.

After another reboot, I had to set-up my controller for Emulation Station. I was using a  USB SNES controller from Amazon. To be honest, I didn't really know what I was doing in this step. I was just blindly following instructions. Things seemed to be working right. But after spending several hours just trying to flash the SD card, I was happy to just see RetroPie booting. I semi-successfully set up the controller for Emulation Station, but something was wonky. I didn't feel like I had full control of what I was doing. The buttons on the controller didn't seem to be acting the way I thought they should. I soldiered on.

Step Three required me to configure my controller for the emulators. This is a separate step than configuring the controller for Emulation Station. Remember, Emulation Station is like the OS. The emulators themselves (NES, SNES, Atari, Sega, etc) are more like the apps. Emulation Station and the Emulators have their own sets of configuration. I had to go back into command line and tap each button on my controller (up, down, left, right, a, b, x, y, l, r) when prompted. It wasn't difficult, but it took a couple tries.

Step Four was where things started getting real. I had a few ROMS that I had played on my Mac. Super Mario Brothers, Excitebike, RC ProAm, Blades of Steel, Contra, and NHL 95. In Step Four, I needed to load them on my RasPi. Lifehacker recommended CyberDuck for transferring files from my Mac to the RasPi. I downloaded CyberDuck, connected RasPi to my router via Ethernet and realized that I no idea how to find the IP address of my RasPi. Using "ifconfig" in command line, I learned how to find it, thanks to this link. (fwiw, i could never have done any of this without google) I connected to RasPi and eventually transferred my ROMs.

I rebooted to happily discover NES and Sega appearing in Emulation Station. Yay! I attempted to navigate to my games using my controller with little success. Something wasn't working right. I kept getting lead into a menu screen with options that weren't mentioned in my tutorial. I kept tapping buttons until finally I managed to reach the opening screen of Super Mario Brothers. Success! Kinda. 

The game itself worked flawlessly. I was jumping, busting bricks and collecting coins like it was the late 80s. Unfortunately, I couldn't seem to exit the game. My Apple keyboard was unresponsive as I tapped F4 and ESC. I couldn't even get back to command line. Frustrated, the only way to end a game was to reboot by pulling the power cord. This is not good practice with RasPi or any computer.

I ended up reconfiguring the keyboard settings a little to provide myself an exit from the game and Emulation Station. However, I feel like I should be able navigate and control the entire console from the controller.

Now it is probably worth mentioning that I attempted this project using a 25+ year old 13" composite TV. I do not recommend this! Composite TVs crop to much navigation from the top and bottom of the screen in both Emulation Station and Raspian. Raspian is unreadable on a composite. HD is essential. I later connected the RasPi to my 40" HDTV and was amazed to discover an entire menu at the bottom of Emulation Station that had been obscured by the cropping of my composite. My controller suddenly didn't seem so wonky.


While this project was not a gigantic undertaking, I really don't know how comfortable I am putting something like this in front of my K-4 students. While many of them have surprised me, the need for Terminal sessions seems a little too advanced. I have two RasPi  for my classroom this year. I thought I had an idea of what I'd like to do with them. Now, I'm not so sure.

Monday, July 21, 2014

Reflecting on ISTE 2014


Saturday
As a veteran of a large multi-day music festival like Bonnaroo, I can honestly say that the ISTE conference is comparable in size and scope to Bonnaroo. It is overwhelming on every level for anyone that has not attended. With over 1500 speakers, exhibits and events, it was difficult to figure out where to start. Strategy and pace are essential to getting the most out of the experience.


I arrived late in the afternoon on Saturday hoping to get a feel for the Georgia World Congress Center. I  also wanted to hear the opening keynote address from Ashley Judd. There was a lot of confusion and congestion around the escalators, but after entering the keynote hall it became clear just how big this convention was. There were 14,000 people gathered for the opening address. A live jazz band from New Orleans created a uptempo vibe that made the whole thing feel more like a party than a convention. Enormous projection screens flanked either side of the stage to give everyone a clear view of the evening's speakers. Ashley Judd's keynote, while heartfelt, seemed slightly off topic at several points. Following the keynote, I wandered Building B to get familiar with the meeting rooms and got a sneak peak of the Expo Hall. I decided to make it an early night, so that I could be prepared for the next day.

Sunday
I spent over two hours wandering the rows of the Expo Hall on Sunday morning. I narrowed my focus to vendors that offered robots, gameification, 3D printing, programming, iPad resources and anything associated with the Maker Movement. Highlights included GameStar Mechanic, LightCube, Hummingbird, Autodesk, Makerbot, Next Engine, Griffin, 2Simple, and Filament Learning. Of course, companies like Google, Samsung, Scholastic, Edmodo, Pearson, Panasonic were also present. I was more interested in finding smaller companies and products that I hadn't heard of before.

I don't know if wandering the Expo Hall for two hours was the best strategy to start my day because my head was spinning from sensory overload by 11:30 AM. However, I'm not sure if I can imagine trying to see everything after spending a morning in sessions either. I tweeted "EdTech vendors as far as the eye can see".


In the gigantic glass and concrete "hallway" of Building B, there were two Playgrounds set up with mini-sessions and hands-on demos for different themes. Little Learners, technologies, and big learning was set up on level 3. I had the opportunity to play with two different robots Play-i and KinderLab Robotics. The Play-i robots (Bo and Yana) featured iOS and Android based programming tools to control the robot. While I was familiar with Play-i, it was great to see a prototype in action. Bo and Yana will begin shipping in the fall. I was more encouraged by their development of a tablet based simulator. Play-I's apps will be free. Even if classrooms or students don't own a Bo or Yana, they can practice programming in the simulator on their tablet device. There may also be the ability to store code in a cloud.


KinderLab Robotic's Kibo, takes a different approach. Kibo is programmed by linking wooden blocks together that have scannable barcodes. Users then take Kibo's barcode reader and scan each block in sequence to execute a specific command. Kibo seems very Pre-K and kindergarten friendly.

Next I attended Full STEAM Ahead, Cultivating connections with the Arts with Kyle Pace and Michelle Baldwin. This well attended session focussed on integrating STEAM (Science, Technology, Engineering, Arts, Math) with traditional and arts classrooms. The session emphasized that all students are creative but in different ways. STEAM education, when done correctly, gives every student voice and choice. A highlight of the session was the creation of a selfie that integrated math, pattern, shadow, and reflection. My collaborative project is below.


Coding for the Future: Engaging student interest in Programming was the first and only session of which I shut out. Many sessions at ISTE are ticketed by preregistration. Otherwise, you have to wait in the stand-by line. I lined up 20 minutes early and still got shut out. Needless to say, CODING IS HOT!

I wandered back the Murphy Ballroom to see the father of the flipped classroom, John Bergmann present Flip your Classroom: The Intersection of Content, Curiosity, and Relationships. While I've been quite familiar with flipped classroom, I haven't entirely implemented it into my own class. I tweeted my key takeaway, "If you can be replaced by a YouTube video, you should be".

My last stop of the day was in the Murphy Ballroom Galleria to visit the American School of Bombay's poster session on Designing your Makerspace. I shared my teaching situation with Karishma Galani who then spent the next ten minutes talking to me about strategies for moving forward with my own classroom. Their session also gave away copies of Future Forwards: Exploring Frontiers in Education.

By 6 PM, it was time to call it a day. I had an even busier day scheduled for Monday.


Monday
The Monday morning Playground featured Build Your World: Makerspace at the Mobile Learning Playground. I listened and met with Trish Cloud who was doing amazing things with Minecraft Pocket Edition and her elementary school students. I watched a MakerBot Replicator 2 3D printer in action, played with Bee-Bot and spent some more time learning about the application of Augmented Reality to the classroom.

My first session of the day was called Thousands of Tiny Robots which featured ModRobotic's cube shaped robots called Cubelets. These simple building blocks give young students the opportunity to explore robotics without coding. What I appreciated about this session was their focus on educational benefit of teaching robotics. Specifically, they addressed issues like scientific method, computational thinking, design thinking and life science.

Josh Caldwell immediately followed with an incredible presentation on the application of Arduino to his middle school technology classroom. I've been reluctant to get involved with Arduino because it seemed too advanced for my K-4 students. However, Caldwell's expert knowledge of this technology showed me otherwise. Arduino is an essential physical computing tool.

Back in the Murphy Ballroom Galleria, I met Christopher Michaud who was presenting the Georgia Tech developed Earsketch. This web-based audio production tool gives users the ability to produce a song by using Python to code each instrument and track. It seemed like a very musically engaging way to learn Python. Michaud explained that he had taught Earsketch to students as young as 3rd grade.

In the Murphy Ballroom, I had my first experience with Google Glass. This technology is not something that seemed to have much application to my professional or personal life. However, after watching Christine DePaulo and Christian Penny's presentation, I started to think differently. I even had the opportunity to try a set on. I took a picture and a 10 second video. Unfortunately, the $1500 price tag will probably keep Google Glass out of my reach for a while.

I headed over to the Sidney Marcus Auditorium next and was disappointed to find out that I missed Make Magazine founder Dale Dougherty. However, I did catch Guy Hoffman's EdTekTalk about the humanity of robots. Hoffman explores robotic body language to promote creativity in humans. His work has even been featured comedically on the Colbert Report. He shared a great article from The Economist and has created robots that can improvise jazz music.

I ended my day with Gamification, Makerspaces and Minecraft with Douglas Kiang. With only a small bit of experience in Minecraft, I was very interested learning more about how to use it as a teaching tool. Douglas Kiang did a brilliant job of addressing the issues of curriculum, classroom, and community in the 21st century classroom. He then related those issues to the virtual worlds created in Minecraft. His students created stunning recreations and redesigns of their school campus in Minecraft.. The student's work was beautiful and Douglas Kiang's delivery was uplifting. My most significant takeaway was the relation of Minecraft to the book Andrew Henry's  Meadow by Doris Burn.

Monday evening brought the opportunity to mix and mingle with other educators. After attending Tennessee Education Technology Association's mixer, I made my way to the Tabernacle Music Hall for EdTech Karaoke. While I've never been a fan of karaoke, it was great to network with other passionate educators.


Tuesday
By Tuesday morning, I felt that I was running on empty. I had only planned to stay half a day before returning home. I attended Learn How to Use a 3D Printer-Right Now! with Shawn and Stephanie Grimes from the Digital Harbor Foundation. It was exciting to see a Printrbot 3D printer in action. They showed the process of design and printing using mostly free tools. Shawn and Stephanie's presentation made this technology even more accessible to anyone just getting their feet wet with 3D printing.

All the technologies that I had read about on Twitter and blogs became more accessible through the conference. It was inspiring to hear so many well-informed professionals talk about 21st century tools for learning. The ISTE conference is world-class professional development that will motivate and inspire any teacher. It was also a great way to expand your professional learning network. It is a truly exciting time to be an educator.

Wednesday, June 4, 2014

The First 96 hours with Raspberry Pi


It hasn't been 96 continuous hours. More like, a little here and a little there.

I ordered my Raspberry Pi from Amazon. I got the Complete Kit which included the Model B Raspberry Pi, power supply, 8GB SD card with NOOBS pre-loaded, and a Wi-Fi dongle. I found an old Apple keyboard, Apple Pro Mouse and an even older Emerson 13" composite television to rig up my first 'maker' computer.


I watched the videos from Raspberry Pi Foundation and hoped for a successful first boot up. I was a little concerned that my 13" composite might not do the trick, since it only had coaxial input. I used an RCA to coaxial converter that I had in the garage. I tested it with a VCR to be sure that it worked.
The first boot up was not a success. Nothing but static on the screen. The RasPi's LED was lit, but it was not sending any signal to the TV. I retested all my other hardware and checked the cables, but still had no luck.

I decided to relocate to my living room to try it on my HDTV. SUCCESS! And it was beautiful to see it in all of it's HD glory! After NOOBS booted,  I loaded Raspbian for the OS. It took about 15 minutes or so to load. Once everything loaded, I wasn't quite sure what to do. I poked around the OS to get a feel for how things worked. It was very similar to any graphical user interface. I hadn't planned on keeping my RasPi in the living room, so immediately got to work on trying to solve the problem of why my RasPi wouldn't send a signal to my old 13" TV.



Many reviewers on Amazon complained that their composite output was broken on delivery. The RasPi FAQ, however, explained that all their devices were factory tested. Considering they were made in the UK, I theorized that it was more of an NTSC/PAL issue, than a faulty jack. My theory was correct, but I didn't really have the skills to correct it.

I had to learn how to work with the config.txt file in the boot partition of the SD card. This required me to learn a little about Linux and how to comment out a line of code. I tried for several hours to modify the code but never got it to work. I gave up and went to the RasPi forum. I got a couple replies fairly quickly. I downloaded a newer version of NOOBS, erased the SD card, reloaded NOOBS, and rebooted while connected to the 13" TV and held Shift-4. SUCCESS! Raspbian had to be reloaded but I was happy to have finally have solved the problem after 24 hours.



I poked around for a bit while connected to the 13" TV. To be honest, I was a little disappointed. There is a reason why there are so many free composite televisions on craigslist. The image quality is dreadful. It is even worse to try and read computer text on a composite TV. However, one of my goals for my RasPi was to create a vintage gaming console that played NES, SNES, and Genesis games. I'd peeked a great tutorial for creating that project and concluded that 8-bit and 16-bit games would look fine on my old TV.

But before I could get to that, I wanted to connect my RasPi to the internet. My kit included a USB WiFi dongle and I read some tutorials about connecting to WiFi. Unfortunately, I have a hidden home network and my Linux skills weren't sharp enough to make the attempt. So, I decided to hardwire via ethernet to see if it worked. SUCCESS! Seeing the Google homepage load on the old 13" composite was magical. Kind of. 13 standard definition inches is not enough to view the most basic web page. I checked out a couple blogs and could hardly read a thing. There was some lag as pages loaded, but it wasn't unbearable. Connecting my RasPi to the internet proved a couple things. I either needed a HD monitor or start building the vintage gaming console.

I opted to download and install the Minecraft Pi Edition instead. Thankfully, there were multiple tutorials online for getting this done. Downloading was easy. However, I needed to launch my first LXTerminal session to decompress the file and load it. SUCCESS! Before long, I wasplaying Minecraft. Unfortunately, I know nothing about playing Minecraft. I figured out how to dig a hole and created a cave. I soon discovered that my 'vintage' Apple Pro mouse lacked a right-click button to allow me to build blocks. Normally, I would just use control-click but RasPi didn't respond. No worries. My cave was beautiful.



To more savvy Linux (and Minecraft) users, this is probably the most pathetic blog post ever written. Honestly, I am a little ashamed of my self for having become such a passive computer user. I used to connect all kinds of weird devices together with skill and ease. I was a web designer who could automate multiple tasks in Photoshop and creatively use HTML an Javascript to create interactive web pages. But that was 1990's and I have not maintained my skills. The past 96 hours have been a pleasure. I've been actively solving problems that lead to new ideas and creativity. And isn't that the point?

I can't wait to share this experience with my students next year.

Wednesday, May 14, 2014

The Debate About Coding In Schools

As the school year winds down, I often begin planning for the next school year. Thanks to Invent to Learn, I could not be more excited about the process. I even dug some old eMacs out of the closet and have started to prepare them for next year. I'm hoping to plug some Makey Makey's into them so that children can create their own game controllers for vintage video games like Pac-Man and Frogger.

While preparing for a PLC last week, I noticed this in my Facebook newsfeed.



Adorable, right? And marketed brilliantly to moms and dads like me. If it weren't for the price tag, I probably would have pre-ordered it immediately. And that got me thinking. How much does this device truly promote creativity, coding and computational thinking? Or, is it simply a toy polished in edtech jargon and marketed to parents who would love to see their kid grow up to be the next Bill Gates or Mark Zuckerberg?

Yesterday, I noticed that the New York Times had a debate going about whether to teach coding in schools. Some columnists mentioned concerns about the trendiness of coding, developmental appropriateness, the validity "computational thinking", and the loss social and emotional learning. There was also the concern that art, music and physical education would suffer from the introduction of coding to the elementary school curriculum. While some of the concerns were valid, many seemed uninformed not only about the types coding tools available to young children, but also the nature of contemporary elementary education itself. Then there was the comments section. Ugh.

I have been teaching Hopscotch to my 3rd and 4th graders for the past 3 weeks. The energy and engagement in my classroom has been absolutely electric. I gave my students very few instructions. I taught them how to draw a line and how to make an object change direction. Their first assignment was was to draw a square. Next, they converted the square into a rectangle. Then they added a triangle to create a house. They added windows and doors to complete the house. Their final challenge was to add a sun to the sky. With this assignment, I've seen collaboration, critical thinking, and creativity on a level that is far above many of the other units that I teach. I watched my students cope with the failure of bad code and try again with smiles on their faces.

We reflected on the projects yesterday. I asked students why they enjoyed working with Hopscotch. Their answers were fantastic.

"It helps me to get better at problem solving. That's something I've never been very good at."

"Building the triangle helped me to understand more about angles. That helped me a lot in math."

"I liked trying to solve problems in my own way."

When I asked them if they ever got bored trying to debug their code, all but two students said no.

Considering that there is already a debate about coding in schools, it would appear that there has not been enough advocacy for computer programming. This is strangely shocking considering the success of the Hour of Code. But I'm not sure that the debate has been entirely honest or well informed.



A rich technology education program should have a variety of components including creativity, collaboration, critical thinking, digital literacy, digital citizenship and active computing. The ISTE NETS.S standards have served as a great roadmap for providing this kind of program. Coupling these standards with quality project based learning units, 21st century learning can happen in truly transformative ways. And that is the point. Coding promotes the essential skills of learning and problem solving. The need for these skills is not debatable.

Nobody could or should expect that teaching young people to code will produce the next Mark Zuckerberg. Nobody is advocating that our elementary schools become factories of young coders. However, 21st century learners are different. We need to understand that and start meeting students where they are at. Coding is one part of the equation, if we truly want to create 21st century schools.

Tuesday, April 29, 2014

Invent to Learn


This book is what I've been looking for, for a long time. Go buy it now!

I just got to the part about 3D printers, physical computing, and programming. I've been actively teaching coding via iPads since December. We use Kodable in K-2 and Lightbot and Hopscotch in 3-4.  I tweeted last week that the energy in my room has been absolutely electric while working with these tools. It's been so easy to see the benefit of teaching coding to young children.

Prior to reading the above, 3D printing didn't seem like something that would have a place in K-4. However, to be honest, I wasn't really clear on the practical applications of 3D printing either. Invent to Learn opened my eyes. A local high school recently acquired a 3D printer with the help of my friend Tony Youngblood. He also hipped me to iOS based CAD programs soon to be released by Makerbot. After a little more research, I've decided my classroom needs one. The 3D printer is the kiln of the 21st Century art room.

But physical computing is the technology that has me the most excited. Littlebits caught my eye a while back, but somehow I completely forgot about it. I've been describing them as electric Legos to my co-workers. These should be in every 3-4th grade science kit. I'm really interested in the Korg set for my own personal amusement. 

Although it is capable of so much more, I've also been familiar Arduino as tool for interactive art projects. I'm not sure how accessible it would be for my students, but it's definitely worth more research.

But Raspberry Pi. Oh my. So yummy. A $25 no-frills credit card sized computer that runs various useful computing tools. It also runs Scratch. Incredible. I have this idea about having my fourth graders building multiple Raspberry Pi stations for creating a Scratch lab in my classroom. I'm not sure how do-able this project is, so I'm gonna pilot the idea on my own in my garage this summer. After tweeting my ideas, I was also introduced to Kano. Wow.

3 more days of TCAP. Yeehaw.

Monday, April 21, 2014

The Truth About Learning to Type in the K-4

I attended a PLC for K-4 technology/computer teachers today and the subject of typing programs came up. In my opinion, this is probably the most controversial issue to talk about with K-4 technology/computer teachers. It opens up such a huge can of worms.

I continue to stand by the notion that typing in K-4 is not developmentally appropriate for students and it should not be taught. Keyboards are not designed for little hands. They are designed for adult hands with fully developed muscles and bones. The ergonomics of the keyboards are barely healthy for adults. Keyboarding, over time, causes carpal tunnel syndrome. As a former web designer, I can attest that it is painful and makes the use of one's hands difficult. Why would we want to force this practice on young children?

I tweeted an abbreviated form of this idea during a technology conference last week and was met with the reply that kids need to start somewhere when it comes to typing. Eighth graders should not be hunting and pecking. I didn't disagree. But I've found K-4 students to be more productive typing on an iPad, than a desktop or laptop. The traditional desktop or laptop keyboard has too many keys for young minds. It is too much data to process. It also requires students to look in two different places as they type (three places, if they are typing from a piece of paper). iPad typing is so much more kid-friendly. The keyboard is nicely compressed with only the essential keys for expressing their ideas. There is also the simplicity of working with one surface and seeing both the input and output on one screen.

But nevermind ergonomics, why do K-4 students NEED to learn to type. Typing is not a skill of 21st century learning. At least, it won't be for long. 20 years ago, we could not have imagined technologies like Siri, AutoCorrect, Predictive Searching or even the accessibility of video chat. In 20 years, it is reasonable to believe, we will have entirely new tools that allow us to express our ideas and emotions through technology in ways we can't yet imagine.

So again, I ask, why do K-4 students NEED to learn to type. The answer? So they can take a test. Another high stakes, standardized test that may or may not measure their learning over the course of a school year. This is not a productive use of technology in a K-4 classroom. This does not promote learning or thinking. This is doing more of the same with a higher price tag. If we truly want to promote learning and thinking, not only do we have to change the way we are teaching, we also have to change the way we are assessing. Online assessments are the way of the future. If we can create technology tools that allow us to differentiate our instruction in countless ways, surely the testing companies can develop tools that allow us assess student learning in the same way.

It's time to differentiate the test.

Thursday, April 10, 2014

PBS LearningMedia Digital Innovators Program


With great excitement, I have been accepted to the PBS LearningMedia Digital Innovators program. I am now part of 100 nationwide teachers that were selected to participate in a year long professional learning network. Through this program, I will get access to materials and trainings that will help me develop my program even further. I will also have a network to further share the work that my students and I have already done. This is a tremendous opportunity.