I fell in love with programming competitions five years ago when Sir Jongko had us solving problems for CS21b lab. I found it quite amusing that I just had to think of a way to solve a problem and translate it into code–without the need to worry about encapsulation, code reuse, giving descriptive variable names, and all these object-oriented programming concepts that you need to apply when making applications using Java. There was quick gratification as you code a solution in a period ranging from 10 minutes to 5 hours, and find out if you got the program right in less than 3 minutes (2 minutes max compile time + 1 minute manual clicking by the judge). That is a lot less than the weeks you have to spend in coding for a project and the turnaround time for your prof to grade it.
During my second year in college, I joined an official programming competition hosted by DISCS (our department) along with my friends Liban and Dugs. Thus, Team LCD (Liban-Carolino-Dugay) was born. (Dugs wasn’t able to compete during the actual contest so we had Dumalus instead.) We finished third place in the competition and I remember how Doc Mana was so amused that three sophomores were able to place even though we had more senior opponents. That paved the way to more competitions and eventually and we found ourselves evolving from being Liban-Carolino-Dumalus to Liban-Carolino-Dy (and they tell me now that they became Liban-Sy-Dy and Liban-Choa-Dy when I graduated). Mind you, we won 3rd place (nationals) during the regional ACM-ICPC in 2009–a feat I always amuse myself with ’cause me being part of a winning programming team is like Lebron James being part of a winning NBA team (haha, kidding).
Yesterday, I was invited to judge a contest along with Liban that the ProgVar folks had as part of ANZAC programming competition (it was simultaneously held in different regions in Australia; no prizes though, simply bragging rights). I came in late and immediately asked for a copy of the problems. You know, back in those days, I enjoyed reading the problems and understanding the whole point of it in 1 or 2 reads. This time though, I had to read the Letter A problem (usually the easiest one) more than five times and I even had to ask Liban just to get it. Upon understanding it, I started thinking of the most optimal solution. You know, back in those days, I was the one assigned to the less-mathematical problems. I was a pretty fast programmer and my attention to detail is usually needed for the problems that everyone could solve as the number of submissions (ideally just 1) and the time that has passed before getting it right (usually 10 minutes for the first problem and 30 minutes from the second one) mattered. This time though, I found myself clueless as to what I was supposed to do. As consolation, one of the profs said that the problems really were tough for that batch. Nonetheless, I didn’t even have the drive to open Notepad++ and the command prompt to test out some ideas that I had.
Upon further discussion with Liban and Kuya Thom, and awesome food from DISCS, I found myself getting back in the zone. But, by the end of the 5-hour session, I found myself realizing and admitting that my programming skills have already deteriorated. Kinakalawang na. And it sort of saddened me as these contests kept me interested in the course when I was in college.
There’s this alumni-versus-students programming contest thing that they’re setting up for the 27th. Part of me wants to join so that I can prove to myself that I can still do this one CS thing that I’m good at. Part of me, however, has given up and said goodbye to one of my first loves in college.
For the meantime, I should probably reinstall my JDK and JRE and check if I can still code for a “Hello World” output. Gaah, how I wish I can still do that.