Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm trying to find places where I can hone my craft outside the context of school or work. Are there places online, or books available, where I can access lists of programming puzzles or challenges?

share

locked by Yannis Rizos May 5 '13 at 21:01

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Jim G., gnat, Walter, Ryathal, Dynamic Sep 29 '12 at 2:54

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

comments disabled on deleted / locked posts

10 Answers

up vote 171 down vote accepted

Moderator note: this is intended to be canonical list; please check to see if your suggestion has already been added to the answer. If it hasn't, edit the answer to add yours preferably with an explanation or reason why you're suggesting it.

On Stack Exchange

Pick a tag, follow the new questions posted, and try to solve them. If you find a good one, bookmark it for later use (via Mr. CRT):

Books

Communities and Blogs

Game sites and ongoing contests

  • CodeChef
  • Hacker.org Challenge — "The hacker.org challenges are a series of puzzles, tricks, tests, and brainteasers designed to probe the depths your hacking skills. To master this series you will need to crack cryptography, write clever code, and dissect the impenetrable; and in the process you will enrich your understanding of the world of hacking." (via daniel kullmann)
  • Pex for fun — game from Microsoft research where you duel against other programmers (via Allon Guralnek
  • Rankk — "You start with the easy levels and progress to the intermediate and hard levels by solving the minimum number of required challenges at each level. The journey to the top is an arduous yet rewarding one. You need to be sufficiently determined and persevering to go far. Only a few are expected to reach the apex and attain Geb."
  • TopCoder
  • Google Code Jam—algorithmic puzzles

Language specific

  • 4Clojure (Clojure) — "4Clojure is a resource to help fledgling clojurians learn the language through interactive problems. The first few problems are easy enough that even someone with no prior experience should find the learning curve forgiving. See 'Help' for more information." (via mikera)

  • Prolog Problems (Prolog) — "The purpose of this problem collection is to give you the opportunity to practice your skills in logic programming. Your goal should be to find the most elegant solution of the given problems. Efficiency is important, but logical clarity is even more crucial. Some of the (easy) problems can be trivially solved using built-in predicates. However, in these cases, you learn more if you try to find your own solution."

  • Python Challenge (Python) — "Python Challenge is a game in which each level can be solved by a bit of (Python) programming."

  • Ruby Quiz (Ruby) - "Ruby Quiz is a weekly programming challenge for Ruby programmers in the spirit of the Perl Quiz of the Week. A new Ruby Quiz is sent to the Ruby Talk mailing list each Friday."

  • IOCCC (C) - "A contest to write the most obscure/obfuscated C program. (Fun to try to understand the previous year's entries, or to submit a new one.)"

  • Underhanded C Contest (C) - "contest to turn out code that is malicious, but passes a rigorous inspection, and looks like an honest mistake. (Try to understand previous year's entries, and learn to find similar mistakes in other people's code)"

Online judges / automatic assessment

Problem lists and contest archives

Security oriented

share
add comment

If you're into Python, the PythonChallenge is great.

share
    
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat May 3 '13 at 0:10
add comment

Some websites [most of they are competitions, with examples or old problems] from my bookmarks:

http://www.spoj.pl/

http://www.topcoder.com/

http://programming-challenges.com/

http://www.ioinformatics.org/

share
    
would you mind expanding a bit on what each of these resources have and why do you recommend these as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat May 3 '13 at 0:17
add comment

Peter Seibel's new project, Code Quarterly:

So we’re going to try to leverage the latter fact to help out with the former by including as a regular feature of Code Quarterly a coding challenge wherein we present the specification of a medium-sized bit of functionality, along with some test cases, and ask our readers to send us code that implements the specification.

We will then publish all the submitted code on our website and will write an article giving a detailed analysis and critique of some of the best programs.

share
add comment

There's also http://www.codechef.com which is fun...

share
    
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat May 3 '13 at 0:16
    
This answer is almost 3 years old.. I don't think resurrecting ancient posts is quite welcome either. –  Fosco May 3 '13 at 21:39
add comment

Codingbat has lots of coding challenges ranging from warm-ups to Harder recursion problems. It is available in Java and Python.

What I liked about the site is that you need to code in the editor provided and it will run the tests against your code.

Must give it a try!

share
1  
I've added this to the canonical list. –  Mark Booth Apr 5 '12 at 11:45
add comment

Top Coder. You can use Java, C++, C#, or Visual Basic .Net to solve problems.

share
    
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat May 3 '13 at 0:12
add comment

I would like to add http://www.interviewstreet.com to it, their theme Work for the best hacker-friendly companies (Solve challenging programming questions and land your dream job)

share
add comment

Exercises in Knuth's TAOCP contain some very challenging programming/algorithm design problems.

share
add comment

Two answer projecteuler website..It will indeed make you a better hacker and I am speaking from experience. The book Programming challenges by Steven Skiena is also a very good one.

share
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.