Solving programming puzzles is a fun way to develop your logical and problem solving abilities. Also, when you’re familiarizing yourself with a new programming language, solving puzzles for that language can help speed up the learning process.
Here are the top 10 popular programming puzzle sites that will help test your thinking and improve your programming, problem solving, and logical thinking skills.
1. Programming Praxis
Programming Praxis is a blog that includes a range of interesting problems with solutions usually available in several different programming languages.
CodeKata is a blog of programming puzzles written by Dave Thomas, who’s most famous for the groundbreaking book, Pragmatic Programmer. The puzzles involve many issues that are directly relevant to real world programming so this is a good place to brush up on your coding skills.
TopCoder is an active programming community of developers who love to solve puzzles. There are many active challenges and some of them with cash prizes.
4. Project Euler
Quoted from their front page: “Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve ” The puzzles featured on the site range from relatively trivial to seriously complex!
5. Facebook Engineering Puzzles
Facebook has a collection of very challenging programming puzzles that–should you manage to solve them–could result in you getting a job at Facebook! Solutions are accepted in a variety of languages including Erlang, PHP, Perl, Python and Ruby.
6. Python Challenge
Python Challenge features riddles that ask you to write small Python programs to solve. The difficulty level gets progressively harder and more cryptic. This is an excellent site for programmers/developers that like problem solving!
7. Al Zimmermann’s Programming Contests
Al Zimmermann’s self-described “arena where demented computer programmers compete for glory and for some cool prizes” is a great way to participate in the programming community. Contests run every six months. Although the web design isn’t great, it’s still a fun site for computer programmers.
8. Ruby Quiz
Ruby Quiz is a collection of Ruby programming challenges that is updated weekly. Although made for Ruby, these challenges can be solved in other languages.
9. C Puzzles
C Puzzles features programming puzzles specific to the C Programming language (and all of its quirks). Since many languages are C-style or derived directly from it, even if your native programming tongue isn’t C, there’s a strong likelihood that you’ll still appreciate and understand these puzzles.
10. 99 Prolog Problems
99 Prolog Problems is suited to the Prolog programming language but people have provided solutions in Python, Ruby, Haskell, Scala and others. Working your way through these problems is a wonderful way to pick up a new language.
* Bonus: Mind Cipher
Mind Cipher wasn’t included in the top 10 because this site doesn’t require you to do any programming. It does, however, include the “world’s greatest brain teasers, logical puzzles and mental challenges“, so if you’re just out for a quick mental workout this is the place to go!
Do you know of any other good programming puzzle sites, or perhaps specific challenges? Leave a comment, and/or send me a tweet!