Archive

Archive for the ‘Programmer Challenges’ Category

Programmer Challenges

June 1st, 2009 Frank No comments

Lets ignore this post from “The first challenge” on… I don’t know what I was thinking.

Have you heard of competition-style programming? There is a website/company called TopCoder that organizes this. When I first found it, I thought it was a wonderful idea and I signed up for the site.  Somewhat unfortunately, they some how sell services to end companies on the backs of these programmers. I don’t understand the details and I don’t know if the programmers get paid but this idea turned me away from using the site.

During my time of interest, I’ve never had time to run though a practice match, let alone a real match. I do know a little bit about the site and I still like the idea, so I’ve decided to derive a similar thing but only without the “competition” part of it.

My idea is simple: Post a programming challenge and let developers come up with different solutions. My idea is to include no limitation on platform, programming language, SDK, etc. Just implement a solution and then optionally share your solution. I’d also encourage an explanation on why one chose the route they did.

The important difference between TopCoder and my idea is that there is no winner. Ever. The idea is to have different solutions and to allow other people to go though the different solutions and learn from them. In my opinion, every solution is a good solution. Now, I do realize that there truly are better solutions than others but in a business environment, only a single solution is produced and normally that solution is considered acceptable.

Again, the idea here is to learn. One who wants to learn is likely discouraged from participating in something like this, thinking that there is someone who will produce a better solution than they… so why bother?  I am in that boat, when it comes to TopCoder.

The First Challenge

Given my outline above, I prose this quick challenge: Write a program to calculate one’s age down to the second. You can go as far as to allow the user watch the time increase as they watch the program. Of course, variations of this are welcomed and I encourage you to add further features. If you’d like your solution posted, please feel free to email [Frank[at]TheOpenSourceU.com] it or you can post it to your own blog and I’ll link to your blog post. Simply e-mail me the URL (or post the link in the comments below).

If you share your solution, I’d suggest that you select one of the open source licenses.