Kinects in the Classroom: Hacking Meets Teaching

When you think of hacking, school assignments probably aren't the first thing that come to mind. But then again, you're probably not in Golan Levin's Interactive Art & Computational Design course at Carnegie Mellon University.

Earlier in the week, we covered a couple projects from the class involving hacking Microsoft's Kinect controller for Xbox 360. While Kinect hacking has been a popular topic in hacking and DIY circles (and here at GeekTech), it isn't something one normally thinks of as a topic of study, but Professor Levin worked the Kinect into his curriculum as a way for students to get creative--and to learn something in the process.

The Assignment

In late January, Levin assigned his students to "[create] a system that responds to signals or information interactively, in real-time." That is, the students were to write a program that could analyze the content of a video feed, and insert interactive elements depending on the video's content.

This is basically the concept behind augmented reality (AR), but not all AR software goes quite this far (many AR smartphone apps, for example, just overlay location information over video captured by the phone's camera): Levin's students would have to write programs that could recognize human forms or objects, in addition to simply overlaying items over video.

Students Nisha Kurani and John Horstman designed a hack that would make the "Boo" ghost from Super Mario Bros. follow you.

Levin had his class break up into groups, and he had a dozen Kinects for his students to use. The students then had roughly two and a half weeks to complete their projects.

And the results are impressive.

Why the Kinect

Levin cites Kinect hacks--many of which we've covered in this very blog--as the inspiration for this assignment.

"The Kinect sensor is an ideal teaching tool. It makes altogether new forms of interactions possible, it is inexpensive and it is readily available," Levin told me in an e-mail. "I was inspired by all of the numerous artistic projects and research investigations produced by individual hackers and coders all over the world--projects which, in my opinion, are more interesting than any of the commercially available software 'intended' for the Kinect. "

His students used various open-source programming toolkits to complete their projects, including the Processing programming language (which has been used to program various other Kinect hacks), as well as OpenFrameworks and Cinder. In the case of the project we showed you yesterday, some students also used other related tools, such as the ofxKinect add-on for OpenFrameworks.

'), 'src':"playlist", "mode":"overlay", 'trackingId':'mediaContainer37861', 'autostart':true, 'pageURL':document.URL, "link":document.URL, "pageName" : csmbvideo.info.pageName, "videoName" : "Piper combines security and home automation in one package", 'duration': 0, 'width':562, 'height':316, 'loadImage':"http://images.techhive.com/images/article/2014/07/piper_v2.still001-100357135-poster.jpg", 'prerollTag':narfVideo.preroll, "scaleMode":"stretch", "insertType":"modal", "playlistHandler": csmbvideo.getBloxArticlePlaylist }); return false; }); $('a.closeVideoModal').click(function (e) { var id = $(this).attr('href'); $('#modalMask').fadeOut(250); $(id).fadeOut(500); $('#VideoPlayerMain').html("
"); return false; }); } else { $('a.leadVideoModalClick').attr({'href':csmbvideo.leadUrl}); } }); csmbvideo.getBloxArticlePlaylist = function() { var videoPlaylist = [ { "src" : "http://images.techhive.com/media/2014/07/piper_v3_brightcove-37861-orig.mov", "duration":"150" } ,{ "src" : "http://images.techhive.com/media/2014/07/wearables-ep-9-v1-brightcove-37961-orig.mov", "duration" : "186" },{ "src" : "http://images.techhive.com/media/2014/07/rapidreview_oneplusone_4.5stars_v1-37543-orig.mov", "duration" : "98" },{ "src" : "http://images.techhive.com/media/2014/07/0715-yahoo-2q-earnings_3-37842-orig-37881-orig.mp4", "duration" : "99" } ]; return videoPlaylist; } */ g_arrModules['Article Detail:Right:Greenbot Promo'] = true; g_arrModules['Home Page:Right:Greenbot Promo:Article List'] = true; g_arrModules['Article Detail:Right:Bizdev Internal Primary'] = true; g_arrModules['Article Detail:Right:Product Shopping'] = true; g_arrModules['Article Detail:Right:Newsletter'] = true; g_arrModules['Article Detail:Funnel:TSO'] = true; $.ajax('/ads/tso',{ dataType: 'json', success: function(data){ renderTSO(data.tsoLinks); }, error: function(jqXHR,error,thrown){ $thm.debug("TSO AJAX Status: "+error+": "+thrown,true); } }); $('details').details();