What are you favorite sites that teach by making you work real world examples of problems; for example: http://www.vimgolf.com/ teaches you how to really use vim through a series of challenges that get more difficult as the problems progress, or https://projecteuler.net/ is a great site for learning any new programming language by trying it against increasing difficult math type problems. Both sites also lock the solutions until you are able to submit a valid solution to the problem, at which time you see all the different ways people have solved the problem and learn how to do things better.
The question is, what other sites like these are out there, and not just for computer related topics (learning music for example).
* site that has a list of problems * each problem has a discussion on how to solve the problem, and a list of all the different ways people have solved it.