[All links lead to Spanish language pages unless otherwise noted]
In the following article, guest, J.J. Merelo, Doctor in Physics and Professor at the University of Granada, Spain, tells us of his experience organising educational hackathons in light of the regional Hackathon Developing Latin America 2012 [en] which will take place next month in December.
A priori the word hackathon should not give rise to many doubts: marathon + programming. 52 kilometres of programming until someone collapses with exhaustion. Joined by a few others, you'll say, come on, let's programme! Any doubts? No? Well off you go.
This hackathon was carried out in order to support the projects participating in the Free Software Contest, which was being celebrated for the second time in Granada. The main idea was to spread awareness of the projects, attract the community and, obviously, to give a little push in order to help the participants from the UGR to work on their projects and resolve any problems that they were having. I don't know what ideas we had if I'm honest. If only the most experienced person in the UGR in Java [en], Python [en], MVC environment [en] and, of course, programming methodology would come.
Naturally, we did have all of this. Moreover, arriving eager to learn, came along the freshman, and the telecommunications guy who had only seen Java and thought that Python was the name of a revolver. And the translators. When you do a hackathon in the university, people from the whole university will come. The university is a big place and is home to diversity.
To get programming from the word go is very difficult. The tools used have to be taught, these are principally tools for collaborative development and social networks. Yes, social networks. Believe it or not, there are more Whatsapp users than there are for Twitter. Also, development methodology. It isn't about ‘you', or you do this and you do that but what to do, how to do it and with whom to do it. To whom will you present the result? How will you test the development to make sure it's correct? Everything. So begins the hackathon: bringing everyone up to speed and to the same level as far as possible. And with that, the first hours are filled.
In reality, the first hours have been filled well before then: in the buildup to the hackathon. All of the projects’ participants have to organise tasks that are going to try to address the same issue. Tasks for all levels, from Jennifer's level in IT Crowd: barely knowing how to click the mouse once or twice, up to the level of: “don't worry, I've already created a new interpreter for the language that I created in one afternoon.” And, of course, preparing the talks specific to the project in which you are going to work. What libraries am I using and why? Do I have some specific criteria for coding? Am I using a strange language that nobody knows and will I have to teach it to people? Like this, the following hours are filled.
Fortunately, the programming itself comes next, and that needs time and space. Sufficient time in order to be able to start and finish the task and a space in which it can be developed. This should be well connected with good lighting (in my case the lights went in the house where we were working) and, above all, well known by the pizza boy so that he can arrive quickly and efficiently. It can even be a bar, but it should have sockets and no one must look badly upon those that throw back a beer every hour. Or if you polish off three beers in half an hour. Sometimes coding needs high octane lubrication.
In the end there are three key parts to a successful hackathon: awareness (and I must emphasise there must be a lot, over a lot of time, from word of mouth, posters, social networks to press releases), adequate preparation from participating projects (sufficient tasks and sufficient formation for those that are going to be involved) and attractive projects (if someone wants to make a compilation of Brainfuck [en] they are not going to be as successful as if they wanted to make a mobile app for finding a partner). The latter of course, you cannot guarantee. Sad as it seems, a project may not always take off, so you, as an organiser, must have something up your sleeve. A ‘guardian hackathoner’ if you like.
What do you get at the end of the hackathon? Coding, of course. This isn't to say that it is a social event where participants leave empty-handed, but rather as collaborators and sometimes having made lasting friendships. So, we will most certainly be doing it again next year. If you're in Spain, will you join the 5th UGR projects hackathon? And if you're in Latin America, will you join Dal2012?