11 December 2015
It’s the end of 2015 ACM-ICPC Asia Singapore Regional Contest. But this is not the reason why I stop doing Competitive Programming.
I have stopped once, during my high school times, and this time I’ll do it again. And this time might be quite long.
Back in 2012, after I was not selected to the 2nd round of Indonesian IOI team selection, I then turned my focus to school and preparations for UEE of NTU and NUS. And I did join some online contest, every now and then, without any real purpose.
I started again last year when Prof Rui Fan sent a mass e-mail to SCE students asking whether one wanted to join ICPC. I then asked my friends and Peter & Joshua wanted to join (since we all have been doing this in the past). We practiced weekly, and over the busy period, we still have some time to practice together on some online contest. And we made it to ICPC Asia-KL and Asia-Bangkok regionals although did not win anything.
The training continued in the 2nd semester but on individual format. Joshua stopped doing ICPC since he wanted to focus on what he likes: game development. On the other side, I’m lack of motivation. I do not know why I joined and somehow I did not want to let my other friends down. So I still joined the weekly training every Saturday. On the final session, we formed a team, with me, Peter, and Dian forming one team.
In the holidays, I went to internship and it was tiring, hence, I got almost no time to practice meanwhile my teammates were practicing hard.
New semester started and in the first half, our attendance & performance were really low and it reflected badly to the profs. In the next few weeks, we then fully attended the weekly session and the profs seemed like willing to give us a chance to go to 2 regional contests. So here we go, we were sent to Asia-Phuket and Asia-Singapore.
What struck me was Bill Paucher’s speech in Asia-Phuket closing ceremony. He said that, in this kind of contest, everyone gained something: those who did not got the prizes, will get to know what kind of problems they did not managed to solve; and those who solved all problems gain no new knowledge, hence they give out some prizes. I realized that I have not improved since joining the ICPC and I really felt that the weekly training session was useless to me because it felt like a weekly examination because after the training, usually I’m too tired to try the problem out with the solution discussed; or sometimes, I just simply did not understand the gist of the solution
“Joy of Competitive Programming“
As said by Prof Steven Halim in Asia-Singapore opening ceremony, there’s this joy in doing competitive programming. I agree to some extend since it was really fun solving problems in the beginning. All those kinds of problems that took me step-by-step in solving; that one can just think of patterns and design ways to solve it. There’s this joy of coming up with an algorithm to solve a problem.
What I did not really enjoy was finding algorithm and implementing it without understanding how the algorithm came about. This was the case when we have very little time to learn those stuffs and hence made me not enjoying competitive programming.
What I need is time for me to slowly solve the problems by learning the algorithms. For me, this can ignite those “a-ha!” moments when solving the problems. I kind of missed those moments when I lost count of time just because I’m solving a really interesting problem.
What to do after this?
- Brainstorm more ideas and do more side projects
- Contribute to open source projects or community
- Learn more on AI.
Since my weekend is kind of freed up a bit, hopefully I can return to my first year habit: laundry every Saturday morning. While waiting for laundry, I can do lots of stuffs like reading up for ideas, coding side projects, contributing open source projects, etc.
I’ve been administrator in Indonesian Wikipedia for quite long time and since my Wikipedia spirit has been rejuvenated due to me attending Wikimania 2015 in Mexico City, I’d like to spend some more time weekly in volunteering in this community.
Next semester, I’ll be taking some difficult final-year modules on artificial intelligence and hence I’d like to have more free time in learning those topics. And also due to me taking FYP on a particular topic on AI, maybe I need to research on my topic.