Skip to content

A beginner’s guide to hackathons

Hackathons are events where people interested in software development come together to solve problems, start new projects, and learn or trade skills with each other. Since the early 2000s, hackathons have gained global popularity for the innovative projects they have produced. As some hackers like to say, hackathons are the most educational events in the life of a computer programmer.

Hackathons are not just for programmers, but for people in all fields interested in building new things. Anyone, including designers, engineers, or business and arts students can find an inquisitive role in a hackathon team. Last week, HackMcGill, a group of student hackers at McGill, organized an event called “Hackathon Bootcamp” to inspire people who are new to hackathons.The event targeted the key aspects of making a hackathon successful both as an individual and as a team. The group dispelled certain hackathon myths, such as the misconception that sleeping is not allowed during a hackathon. In reality, hackathons don’t necessarily mean staying awake for 48 hours, and, in fact, adequate sleep and breaks are crucial for creating a productive working environment. Another myth equating hackathons with programming competitions was also dismissed. Hackathons are more akin to a learning environment than a competition; however, depending on the organizers, sometimes prizes are offered.

Deepanjan Roy, a U3 Computer Science student and the director of HackMcGill, gave some key insights. For example, most hackathon’s entries are based on lotteries, and there are no barriers for entry in terms of experience or knowledge, which means that even if someone does not particularly know programming, they can still get in. According to Roy, in order to maximize the hackathon experience, it’s important to have a positive attitude and be open to learning new things. So don’t be shy, and ask questions, since in every hackathon, there are always people willing to help out in many ways. Among Roy’s other tips are staying hydrated, being aware of caffeine overdoses, and having some comfortable sleeping attire or even sleeping bags.

While hackathons are free to attend, transportation often poses a problem, as costs can easily become unfeasible on a student budget.

HackMcGill often organizes bus trips to larger hackathons in Canada and the U.S.. Recently, HackMcGill visited MHacks in Ann Arbor, Michigan, and PennApps in Philadelphia. These bus trips give students the ability to attend at minimal cost.

Some previous hackathon participants include Hannah Cohen, a U2 Computer Science and Linguistics student at McGill. Cohen worked on a Jedi knight game where the user can control a spaceship through movements with the help of the Myo armband, a gesture control bracelet, and Oculus Rift virtual reality headset at the Montreal-based hackathon WearHacks. According to Cohen, it was the first time she worked on a hardware-based project, and recalls it as being a great learning experience. Another participant, David Cottrell, a U3 Honours Computer Science student, worked with two other students to create FuzzBeed, which can be described as a computer-generated BuzzFeed parody. FuzzBeed has gained recently popularity on Twitter and other social media sites.

Ashin Vinodh, one the members of a top-ten team of PennApps. Vinodh, an engineering student at the University of California, Los Angeles, worked with three other teammates on a project called “3DJ.” The project uses the Myo armband and leap sensors to detect various motions and process them. The resulting program allows the user to compose music with spatial gestures.

Although there are some barriers to entry for hackathons in terms of transportation costs, they are still valuable educational venues open to students from all majors. In fact, there is a hackathon happening at McGill from February 21 to February 22, so you can experience your first hackathon without having to travel. Whether you choose to go as a beginner or expert, it could be a valuable experience to have.