Programming Challenges by the Bucketload!

While perusing the archives of Łukasz Grzegorz Maciak’s blog Terminally Incoherent, I found this old post about using shell commands to generate a random password and I realized I needed some good programming exercises. I mean, I’m not particularly imaginative — I do best by running with a seed idea (which I often eventually modify beyond all recognition in the effort to fully understand how it works) — so it would be really nice to have a couple of ready-made challenges to solve, right?

And in my search for a few choice ideas, I stumbled upon this gem.

At the Sphere Online Judge (a.k.a. SPOJ), not only are there a huge number of programming exercises (something like 2100 pages when converted to a PDF booklet), but I can also see how I rate against other programmers, submit multiple solutions, view my old solutions, find tips on the forums, enter contests, even submit my own problems for others to solve!

Some problems are simple yes/no answers, while others are graded by hand. Perhaps the coolest feature of SPOJ is that you can submit your solutions in any of nearly fifty different languages (up to and including bash scripts!), making it an invaluable tool for learning new programming languages, since you can directly compare how different languages arrive at a similar solution.

SPOJ is absolutely brilliant, and teaching myself Python — and probably my next few languages — will be so much easier (and much more fun!) with the help of these challenges.

SPOJ Banner

So what are you waiting for? Get coding!


One thought on “Programming Challenges by the Bucketload!

  1. Pingback: SPOJ #1: Accepted! « Becoming A Glider

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s