January 3, 2020

Online Hackathon : An Experiment

Experience from my first online Hackathon

Categories: Hackathon Competition
Tags: Hackathon Coding Bridgingo First Python

The first image which comes to a beginner’s mind on hearing the word Hackathon is a group of people with professional ethical hacking skills who are racing towards a specific goal to win in a competition, even I thought similarly until my fellows from ALiAS helped me to sort it out.

In layman terms, a Hackathon is just a coding competition where people, individually or in groups, work upon building a useful project out of a list of problem-statements or a theme with the help of various mentors present at the venue. The participants are bound to a time limit, usually ranging between 24-52 hours and are provided with proper arrangements for basic amenities. Online hackathons are similar events where you can race to the finish line from the comfort of your room.

Hackathon

The day arrived soon, felt like just a moment. I still remember it was an important day for me because, along with the hackathon, I also had a performance early morning at Gomti Nagar, Lucknow. It was a group dance performance, which has been my passion for the last couple of years. I was getting frequent email reminders from Bridgingo. So, as soon as things got wrapped up with the dance, I gave up the post-performance celebrations to get started with the 1st stage of the hackathon. And here I was, geared up with my laptop and knowledge, sitting in room 101-A, Amity University, Lucknow, solving one question at a time. The email with the test credentials also mentioned that the test questions were according to Bloom’s Taxonomy.

I do not remember the exact number of questions, but I marked more than half of them right; it was the only satisfactory emotion at the time. After the test was over, I was feeling relaxed with some mixed feelings making me doubt my core knowledge as it’s a fact that once you get hard into coding, the classroom subjects seem to be an overhead.

GOC

It was half-past one on the same day when I with my friend was enjoying lunch in the hostel mess, ah food quality is meant to be quoted like this in blogs! :-) Well, at the same moment I received a call from hackathon organizers, the person informed me about qualifying of my 1st round though the marks were not disclosed. I was more than happy as being my first coding competition it was a boost to my morale. She told me about the mail which is been sent to my email id consisting of further details to the next round along with the problem statement.

I rushed to my room for the same, this round was really exciting, which I always expected from the competition, they gave me an interesting problem statement for which a solution was needed to be crafted out that too in a timespann of 12 hours, let me inform you this process is going on an individual level so it was quite challenging to do the same but it didn’t matter to me and I was all set with my laptop in the noon, giving up on all fancy procrastinations I wished for, the problem statement quoted a really long scenario which in brief will conclude to I had to make a command line system in some language out of the list which would serve the user a test on some specific subject where questions of the test are fetched from some raw format like txt, json or xml proceeded by a complex logic according to which questions need to be divided into three categories with different scores, if the user is correct there will be an increment in the level of question(in terms of score) else vice versa. Also, the difficulty of questions was directly proportional to their scores. In the end, on completion of the test, a graph was to be plotted to depict right and wrong answers.

The list of languages was a familiar one including C++, C, Python, and Java though I opted for Python as I was frequent with the syntax those days. The best part about Bridgingo was they helped me understand the problem statement in detail on a phone call which was helpful as there were a large number of participants being an online hackathon.

Coding

I started my work at 2:30 PM, the timings were 2:00 PM 24th February to 2:00 AM 25th February it was going to be a really busy day if I forget to tell you the day was Sunday. I’ll try not to go much into technical details as to its not a tech blog, actually, I started by making a CLI Interface showing a menu to begin the test, show information about organizers, instructions and exit. Following this was learning techniques for fetching data from JSON in Python.

The data was arranged according to the instructions mentioned in the problem statement, it took me quite long to design the logic because at first, I thought of it as a Machine Learning problem where I’ve to detect what to do when a user answers wrong or vice versa but being a web developer I had no clue how ML worked. I kept the game running with my logic where I set three categories of questions and allotted an id(-1,0,1) with their marks respectively. Now on every fail or successful attempt, all I had to do was increment/decrement counter and pick my next question accordingly. Maybe it was not the perfect solution for future enhancements but it was complete enough to solve the problem.

The clock kept ticking, soon it was 9:00 PM when I took a short break for dinner and was back as soon as possible, now the part that was left is the last part, the one in which I have to plot a graph based on user’s result. Well, here’s one of the reasons justifying my choice of language, I know it could have been possible with any other too but it would have taken longer instead in python I imported matplotlib which is a popular library for plotting graphs using which I plotted a bar graph depicting correct and incorrect answers.

Code

Now I was almost done, all I had to do is to make an executable for my code and share it with the organizer’s email. It was 12:30 AM the next day when I reached this scenario and faced some difficulties as being a Linux user I somehow made the executable but was not capable of running it on my machine to check if it was working. Thank you to the team of Bridgingo who helped me along with my submissions and confirming the working of the same. At last, it was time and I made it through my first hackathon. To be honest I was least interested in the fact that I’ll win or lose instead the satisfaction of completing a project over a day and learning a lot of things at once was all I craved for and going through the same was more than enough for me to take a sound sleep.

I narrated the whole experience to my classmates and friends interested in coding and everyone was all praise for my efforts and the opportunity Bridgingo provided me. It would not have been possible without their motivation and the competitive nature created to keep up with the good work followed by support for submission and understanding the problem. Soon after a few days I received a mail from them, the subject read Congratulations which already made me excited and so was the body. The mail was about me being scored in the Top 50 winners of the contest named Game Of Codes and along with it was attached my certificate you can see it in the image below. Not only this, they even provided me with 200 $ credits of Digital Ocean which came as a big surprise to me as being a web developer I am always looking for some professional hosting spaces for running tests.

end

It gets complicated when you already have projects running on free tier on your AWS and you have another one in the queue. Bridgingo not only provided me with an opportunity to participate in the most trending genre of coding competition from home but also provided me with assets that would help me in the future through my CV and projects. Apart from these two things I got a coupon code with the help of which I was able to buy IOTA Degree sessions at Bridgingo on discounted rates. Also, it made me discover a great potential within me which still helps me up whenever I’m lazy to get back on a project. Thank You So Much, I dream to become a great web developer one day along with gaining knowledge from different fields so that I can implement them all on the web and helping me grow is the best thing you did … Bridgingo.

Certificate

Author: Akshat Pande

comments powered by Disqus