How only one path fails to help everyone succeed at learning how to code
Project Euler sounds great! The author of the now oft-forwarded Atlantic piece is making a mistake by extrapolating from himself to everyone.
The article (linked below) tells the story of how author James Somers finally learned to program by discovering Project Euler, an effort to teach programming by leading students through a sequence of carefully constructed programming problems. Somers “finally” learned to program after first failing at reading one of the enormous tomes on how to program and then after failing to learn through AP CS.
I don’t doubt that Somers really did learn a lot from Project Euler, and I believe that thousands have and will in the future. The “inductive chain” theory described below seems plausible. Project Euler is a terrific idea! I also believe, though, that some people do learn (at least, get started) from those massive tomes, and others do learn through the more engineering-oriented approach that Somers dislikes in AP CS. Some may even learn from playing with digital media.
I personally don’t find Project Euler’s problems attractive. Somers gives this example of a Project Euler problem that inspired him:
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
I completely believe that Somers was inspired by this. I do not have an “itch” to solve this one. I don’t find mathematical puzzles that fun. I like to make things, so when I was getting started learning to program, I was motivated to play around and explore by building things. My first sizable just-for-fun program played tic-tac-toe, and most of my just-for-fun projects were interpreters and compilers. Today, I like to make interesting pictures and sounds with Media Computation. My experience doesn’t mean that Somers is wrong about Project Euler working for him. He’s wrong in believing it can work for everybody.
We need multiple paths. Math works to motivate some. Engineering for others. Media for still others. I agree that getting the playful learning that Somers wants is about engagement and motivation. Math doesn’t engage and motivate everyone.
Project Euler, named for the Swiss mathematician Leonhard Euler, is popular more than 150,000 users have submitted 2,630,835 solutions precisely because Colin Hughes — and later, a team of eight or nine hand-picked helpers — crafted problems that lots of people get the itch to solve. And its an effective teacher because those problems are arranged like the programs in the ORIC-1s manual, in what Hughes calls an “inductive chain”:The problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that allows you to undertake a previously inaccessible problem. So the determined participant will slowly but surely work his/her way through every problem.