Thursday, February 13, 2014

Programming with MIT App Inventor

This semester I'm taking a new approach to my Fundamentals of Programming class.  After talking with a colleague from another school, we decided that we needed to revamp our Computer Science program.  We needed to find a "hook" to get students interested in the possibilities of programming without getting overwhelmed by the code.  Over the summer I heard about a program called "MIT App Inventor" that offered a highly visual and block-based code.  Students are able to create a basic app for an Android device within one class period....plus the program is FREE!  We're almost three weeks into the semester and things are going pretty well.

The first app we tackled was the "Hello Purr" app.  It's pretty basic, as far as apps go, but the students are pretty excited to be creating their own functional apps.  (Not many of my students own Android devices, so they're not overly excited.  But their excited nonetheless.)  Students create a button that looks like the picture of a cat.  When the button is tapped, a "meow" sound plays and the phone vibrates to simulate purring.  When the phone shakes the same "meow" sound plays.  Students can test of their app on their own Android device or use the emulator.  This app, while very basic, has opened the door to important discussions about properties, variables, events, and event handlers.  When I taught this class in the past as a strictly code-based class in Java, it took us weeks before we could talk about variables and much longer before we were able to create and define our own event handlers.  Now, we're broaching the subject within the first week of class.

To go along with the class, students are creating a Google Site portfolio to house all of their apps.  They include screen shots of the visual design of the app, a peek at the blocks of code, a brief description of their app, and a QR code so that people that visit their site can download the app to their Android device.  The site also contains information about some of the terms and concepts we've learned about while creating the app.  Students will create and maintain this site throughout the semester.

While making the transition to this new program we've run into some glitches.  Only a few students are able to get their "emulator" to work.  We're still working on these issues and we hope to have them resolved shortly.