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 9 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.

Programming Praxis

2. TopCoder

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.

TopCoder

3. 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!

Python Challenge

4. 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.

C Puzzles

5. 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.

Al Zimmermann’s Programming Contests

6. 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!

Project Euler

7. 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.

Ruby Quiz

8. Prolog Problems

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.

Prolog Problems

9. Mind Cipher

MindCipher is a social repository of the world’s greatest brain teasers, logic puzzles and mental challenges.

Mind Cipher