I’ve been trying to stay current on algorithms, math and harder computer science concepts for about a year now.
To do this I’ve come across the following sites/resources:
Quick thoughts on each:
1. Top Coder
This site sucks. Maybe if you spend quite a bit of time to learn it and wade through their horrific UI, it’s great fun. But from my experience it’s impossible to understand. It feels like a website from 1998 and it does everything it can to make you hate it.
Maybe one day I’ll figure it out, but then again, I doubt it. There are too many other good sites to improve you algorithm skills.
2. Code Chef
The UI is pretty good and they run regular contests with problems ranging from easy to very difficult. It’s a fun format and the only negative I can find is that for a while it was hard to understand just how they’d pipe input into my programs and the approach for producing my answers.
Once you get one or two programs running it is great fun.
They run a contest every month for a week so it gives me plenty of time to finish a few problems in a few hours. It’s been a great experience for me and up until recently, it was my favorite site for coding practice.
3. Career Cup
This site is run by the lady that wrote “Cracking the Coding Interview”. The book itself has tons of great problems and is very focused on computer science basics. The advice and the problems are priceless. I’ve worked through the first 5-6 chapters and completed each homework problem. Some of them are quite challenging and it’s fun to see how close you can come to the right answers.
Looking forward to finishing the rest of the chapters.
4. Talent Buddy
I found this site on Facebook and quickly got addicted.
The first 4-5 problems are very easy and it gets you hooked. I worked pretty fast until I got to a GPS themed problem that involved some non-trivial math. After Googling around about line segments and closest paths etc. I was able to break through.
I’ve started to realize this site has some pretty serious problems and it represents conceptually some new areas that Code Chef and Career Cup don’t cover.
Lots of geometry and math, which is something I need to get better at.