Several weeks ago, I received notice from my school that they would be holding a programming competition. Yes, I enjoy writing code. But, in a competition? I was dubious. I know I can code. But, could I code within the required time frame? Eventually, I signed up. I figured that the worse thing that could happen is that I would lose; if nothing else, it would be a good experience.
All I knew was that the competition was supposed to start on May 31, 2008 at noon and that there would be ten questions. The instructions would arrive via e-mail at the start of the competition. I would have three hours to complete the tasks.
As I (obviously) did not know what the questions would be, I researched other programming competitions. I was curious to see what kind of challenges might need to be solved. After reviewing a few other competitions, I became even more dubious. Some of the problems I probably could not even begin to comprehend without a doctorate or two.
When the big day came, I started more preparations. I had my computer up and running with a couple copies of Microsoft Visual Studio running. I kept running multiple scenarios through my mind. I started writing different user interfaces and some functions that I thought would be helpful. Then I stopped. I was running at full steam without a direction. I quickly discarded all my code and waited (though not patiently) for the competition to start.
At noon, I snapped to attention and checked my e-mail box. No instructions. I checked again. Still no instructions. Calm down! A few moments later and had instructions in hand.
I first glanced over the e-mail. Nothing seemed too complex. I usually do not like to waste paper, but I printed off a copy of the e-mail. I did not want to keep switching between the e-mail and Visual Studio. My plan of attack was to write functions for each problem. Then, I would go back and write a user interface that would demonstrate the functions.
The problems were actually uncomplicated. One required displaying numbers from the Fibonacci Series. Another required figuring out the highest number possible given the digits from a given four-digit number.
I was stuck on the problem that required converting a decimal number into binary. I was halfway through one solution when I remembered that .NET has a command that will do the conversion for me. I literally slapped myself on the forehead.
Once I had all the problems written, I need to write a user interface for each. I think I was only able to finish the UI for about seven of the eleven problems. I turned in my project just before the three-hour deadline expired.
I was disappointed with myself. I knew that I could do better. I figured I would have been done with time to spare. Maybe it was just nerves. Now, it was a matter of waiting to see the outcome.
I had all but forgotten about the competition until today. My e-mail program flashed an alert state something about the programming outcome. I figured I had lost. I was hesitant to read the e-mail. But, as usual, curiosity won out. I was pleasantly surprised when it stated that I had won! And, not only did I win, but I came in first place!
A few minutes later, I received another e-mail about the competition. It listed the other winners and talked a bit about the competition. When I saw that there were only a dozen thirty-three other competitors, I was slightly disappointed. (The official announcement stated that there were 13 contestants, but one of the judges said there were 34.) But, my disappointment quickly faded when I realized that first prize was $500! This will come in handy as I just finished two weeks mandatory, unpaid vacation.