Skip to content

Project Euler vs Khan Academy: the future of online learning

June 5, 2011

Khan academy has been all over the news these days. My feelings about his work can best be summed up by Frank Noschese’s wonderful posts on the topic, so rather than rehash all the problems I have with Khan’s vision of education, I’ll just link to Frank’s not so final remarks about Khan Academy, which are a must read.

But as much as I find flipped classrooms and Khan’s error ridden videos problematic, I keep coming back to the idea that there must be some ways to leverage the internet to fundamentally change learning, right? If Khan isn’t the revolution we were hoping for, what is?

I think I’ve found a few hints in Project Euler, which was recently profiled in the Atlantic Monthly in the excellent article by James Somers:

How I Failed, Failed, and Finally Succeeded at Learning How to Code. This is definitely worth reading—finally an educational reporter who gets it—he’s even read Lockhart’s Lament (pdf).

Project Euler is a series of mathematical puzzles, designed to be solved by writing short programs. Here’s the first puzzle:

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.

Notice this puzzle is accessible to anyone; no need to watch a five minute video to understand how to “do” this problem. Instead, it instantly provokes the reader into thinking about how to solve it, searching for patterns, thinking about writing a program, and wanting to learn the coding techniques the need to implement it.

Here’s a great quote from the article:

The problem itself is a lot like Lockhart’s triangle question — simple enough to entice the freshest beginner, sufficiently complicated to require some thought.

What’s especially neat about it is that someone who has never programmed — someone who doesn’t even know what a program is — can learn to write code that solves this problem in less than three hours. I’ve seen it happen. All it takes is a little hunger. You just have to want the answer.

That’s the pedagological ballgame: get your student to want to find something out. All that’s left after that is to make yourself available for hints and questions. “That student is taught the best who is told the least.”

To me, this approach stands in stark contrast to Khan Academy. Khan’s problems make your classic textbook problems look interesting. From the time I’ve spent playing around, it is a feat of tedium tolerance just to be able to complete 10 of them in a row. Here’s a sample from “Average Word Problems”

Gulnar has an average score of 87 after 6 tests. What does Gulnar need to get on the next test to finish with an average of 78 on all 7 tests?

I’ll save how much I dislike the very premise of this question as the antithesis of learning. Worse is that Khan shows you exactly how to do this very problem in the “averages” video. And once I get this problem right, I have to suffer through 9 more that are all the same (all focused on grades…hmm). I think it’s safe to say that by the time you get through 9 of these, the only thing that could motivate you to keep going and do the 10th is earning the badge.

Contrast this with Project Euler. Once you solve a problem, you get to access the discussion forums of that particular problem, and that’s where the real fun begins. You’ll find posts from people all over the world describing how they solved the problem in all sorts of ways you never thought of, using languages you might never have seen before. You will want to go back and find ways to simplify, beautify and speed up your program. It’s a true opportunity for learning. And the next problem you face isn’t a rehash of the previous one, it’s a new adventure waiting to be unlocked. As the author writes, this really is a wonderful way to learn a programming language, and I can attest to its addictive nature.

the article describes this addictive nature well:

The first is that it’s naturally addictive. Computers are really fast; even in the ’80s they were really fast. What that means is there is almost no time between changing your program and seeing the results. That short feedback loop is mentally very powerful. Every few minutes you get a little payoff — perhaps a small hit of dopamine — as you hack and tweak, hack and tweak, and see that your program is a little bit better, a little bit closer to what you had in mind.

It’s important because learning is all about solving hard problems, and solving hard problems is all about not giving up. So a machine that triggers hours-long bouts of frantic obsessive excitement is a pretty nifty learning tool.

So here’s one more thing I think Khan Academy gets wrong. It focuses on answers and explanations, and settles for crappy problems that do little more than test whether you were paying attention to the video. It’s exactly like the worst features of textbook instruction—the text filled with bold faced definitions, followed by the fill in the blank questions that are designed to see if you can find the bold faced words to show you “understood.” And the superficial motivation it uses, badges and gold stars, pales in comparison to the deep curiosity and community that drives people to progress through Project Euler.

Here’s how Somers describes the Project Euler community:

Even if you’re not a programmer, it’s worth solving a Project Euler problem just to see what happens in these forums. What you’ll find there is something that educators, technologists and journalists have been talking about for decades. And for nine years it’s been quietly thriving on this site. It’s the global, distributed classroom, a nurturing community of self-motivated learners — old, young, from more than two hundred countries — all sharing in the pleasure of finding things out.

So what will it take to improve online instruction beyond Khan Academy and the current obsession with classroom flipping? I think Project Euler gives a good hint. Focus on the questions, not the answers. Drop the superficial badges, and build a real community that encourages learning. If you want a few more ideas, I’d suggest checking out Jerrid Kruse’s excellent post, What should we flip?

12 Comments leave one →
  1. June 5, 2011 1:11 pm

    At the risk of sounding echo-chamberish: hell yea, man.

  2. June 5, 2011 1:19 pm

    While I really like Project Euler, I have to point out that very few people get past the first few challenges. 150,000 for the first problem, dropping by a factor of 2 after 7 problems, and continuing down to numbers around 3000 by the 100th problem.

    The attrition rate is enormous. Even my own son, who loves math and programming, burned out on it after a few problems. I tried doing a few, and got bored with them also. Obviously, a few thousand people have found the challenge valuable, and that’s quite an accomplishment, but it isn’t going to motivate huge numbers to learn math and programming.

    • June 5, 2011 9:13 pm

      These are great points, and I didn’t realize the dropoff was quite so big. I don’t think Project Euler is the solution for online learning, but I wonder what they might be able to put together if they had Kahn-like resources and publicity. The solution to online learning is likely to be that there isn’t one single solution.

      My main point in this article is it’s better to focus on developing engaging problems and a community that supports learning and revision, rather than focus on developing an exhaustive library of videos and software to keep track of how many badges you earn.

      • Chester Huckleberry permalink
        May 31, 2013 7:26 pm

        A lot of the problems are fairly sophisticated, invoking concepts used in advanced number theory classes, so the real audience is math and computer science majors, graduate students and others like them. Another site with easier problems focused on middle school and high school curriculum would be great.

        I was using Coursera, EdX and Udacity to learn to program, but I found the whole process dis-spiriting, not as bad as Khan Academy, but still a hard slog. The MIT programming class is so focused on doing the problems a particular way, for example, that students end up guessing how to solve the problems so they will pass the grader. The problems at Project Euler are clearly written and a joy to solve. What a contrast.

  3. June 5, 2011 3:30 pm

    Hmm, I stopped when I would have had to program. I know how, but don’t know any current languages, or have anything handy on my computer to program in. I solved a few with the help of Excel, and had fun with them.

    I wonder if something like Project Euler could be set up for just math? Or if tweaking the format just a bit, so that a new problem was delivered to you once a week, would help keep people going?

  4. June 5, 2011 5:54 pm

    I think that the programming is a big part of the attraction, and that a similar attempt for pencil-and-paper math would get numbers at least a factor of 20 smaller.

  5. June 7, 2011 7:50 am

    There is no comparison between KA and Proj Euler. I really like the idea behind Project Euler but rather than rehash and leave a long comment, I might as well point you to my blog post: Can programming help students appreciate maths more?.

    I agree with @gasstationwithoutpumps that there’s a big dropout rate….I’m one of those who did after a few, not out of boredom but really, difficulty and the lack of time to pursue solutions.

    There’s still heaps to love about the project nonetheless, including built-in opportunities for differentiation subject to one’s knowledge of maths and/or programming.

    Anyway, I’ll end here and hope that you do get to visit my aforementioned post as well as all the links embedded in it.

  6. June 12, 2011 5:12 pm

    The Khan Academy is a work in progress and it isn’t pushing it’s way into classes and homes. It’s being asked for. It’s being searched for. It’s being used because people want it. The social aspects of Project Euler are interesting and the Khan Academy will be implementing more social things in the future. The Khan Academy mikes the drill-and-kill learning faster while using less of the teacher’s resources so that students can have time to work with their teachers on project based learning (Project Euler, Modeling). If you really go to the classes where the Khan Academy is being used, then you will see this is true.

    Your criticisms are a blessing. Thank you.

  7. August 3, 2011 4:16 am

    Khan A is a trend towards homogenization (which can have some virtues). The Euler Project…the mode of it, is a push towards heterogeneity, which implies diversity. Not one solution, but a cross-fertilized family of solutions. Better I think. I also agree that spreadsheets are a better programming tool, for beginning learners.

  8. January 12, 2012 10:34 pm

    I think you’re missing the point about Khan Academy. Like Hank said, it’s serving a need. Euler is great for people who have the time and resources to do stuff like that, but the cost of entry (metaphor) is awfully high, that’s why so many people burn out on it, there’s a definite snob appeal. Khan helps people who want to pass their algebra or geometry class, or are studying for one of those standardized tests that may be terrible from a philosophical viewpoint but exist and are an important stepping stone to a lot of people. If you have gripes about Khan Academy, offer to help him, he seems like a pretty approachable guy. I think anyone who spends this much time and energy trying to help kids pass their classes is a hero.

Trackbacks

  1. Project Euler as teaching tool « Gas station without pumps
  2. Learning coding…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: