There’s no denying the buzz around hackathons transforming computer science education, or technical education overall. Over the course of 24 hours (or a weekend) coders can join together in massive marathon sessions, playing with real-world code for fun and prizes. On the other hand, classes are often portrayed as the opposite extreme – slow, unexciting, overly focused on theory.
But while the speed, energy, and intensity of hackathons are undeniable, there’s a balance between the B. Thomas Golisano College of Computing and Information Sciences at RIT (where I teach) and programs like FOSS@RIT in the Media, Arts, Games, Interaction and Creativity (MAGIC) Center at RIT (where I’m an associate director), which offers many hackathons a year.
Who we are (and why we love hackathons)
The FOSS@MAGIC is an initiative in RIT’s MAGIC Center, which is itself an interdisciplinary effort to blur the lines between art, technology, and science. FOSS@MAGIC sponsors a variety of projects, meetups, hackathons, and events throughout the year, giving students access to cutting-edge hardware, industry pros, and the wider Rochester open source movement.
The MAGIC Center received our first Leap Motion units back in the early days, before the official launch of the developer program. Our earlier experiments have segued into the devices becoming an important part of this year’s New Media Interactive Development and New Media Design capstone course – where students from a set of paired degrees from the art and computing colleges create a final project.
The two project teams that used Leap Motion this year released their work under free and open licenses. These were Spark*, a game that teaches the fundamentals of coding, and Ripple, a virtual interactive ocean environment that lets you learn about threats facing coral reefs. (Other initiatives in MAGIC, including the Mobile Zone that I also administer, allow students to pursue commercial projects – like sign-language translation developers MotionSavvy, whose first sponsors were MAGIC@RIT.)
Our FOSS initiative has a long history of hackathons, going back five years. Last year, my colleague Remy DeCausemaker (along with a few others) did some initial hacking in getting Leap Motion working on Fedora Linux as part of last year’s NASA Space Apps Challenge.
It’s a two-way street – some students’ first FOSS experience with us is a hackathon in MAGIC, and then they start to take FOSS classes offered by the School of Interactive Games and Media, or vice versa. Campus hackathons often become required or optional assignments, or extra credit opportunities for their classes. Hackathons are also places where students meet people with similar interests, roll up their sleeves, and learn how open source can become a part of their education. (In fact, starting this fall, we’re offering the country’s first minor in free and open source software and free culture.)
Where the classroom fits in
1. Marathon training vs. the 100-meter dash. Hackathons are a great opportunity to get a first crack at a problem with a short burst of energy. But building an entire project or website isn’t a quick sprint – it’s a long-distance run that can stretch over months or years.
While we don’t ignore theory at RIT, we’re also very focused on applications and project-driven courses. Teaching students about building communities to support projects – using tools like online mailing lists, issue trackers, and practices like scoping for the future – these are all built into our courses.
2. Creating something that lasts. Unfortunately, many hackathon projects end up as vaporware. The pace and energy of a hackathon are exhilarating, but what gets started in a hackathon may lag over time as other interests take precedence. Conversely, hackathons can also be a place where projects can be pulled down off the shelf and revived, or just infused with new energy. Our Advanced FOSS course focuses on long-term planning, releasing early and often, and the Unix philosophy – doing one thing and doing it really well.
Students can bring these insights into hackathons to structure something that they can reasonably tackle in 24 hours. They can think about a longer-term strategy where they can dive into and out of the project, or pass the baton to others.
3. Knowing what will survive. If a project’s development team was on a bus and it went over a cliff, would the project survive? In the classroom, we do community architecture research where students have to drive into a strange codebase and assess the health of the community.
Hackathons are amazing phenomena, where it’s possible to build projects from scratch and solve fundamental problems – from healthcare to space exploration – in a few adrenaline-fueled hours. Along with a solid foundation of practical and theoretical training, they can help you prepare for the long-term marathon of coding life.