The interview below is part of my research project for Mozilla. As the organization works to support new generations of Web builders, does it need to build some sort of tool to help teach HTML5? A Scratch (or a HyperCard) for HTML5?
I talked to engineer and education entrepreneur Jared Cosulich today about a site that he's built called Peanutty! Peanutty! blends physics puzzles with a learn-to-program tool (specifically, learn CoffeeScript). Peanutty! is open source, with the code available on GitHub.
Our conversation dovetails nicely with a post yesterday by Mozilla's Executive Director Mark Surman on HTML5 and hackable games.
My notes follow:
Informal learning: Teaching himself to code, becoming an entrepreneur and "puzzling things out" without teachers there to give the answers -- Cosulich said that all of this has prompted him to think a lot about learning: the joys, the motivations, the processes of self-directed and organic learning.
Puzzles and pattern recognition: References Daniel Kahneman's Thinking, Fast and Slow -- humans' strengths are in pattern recognition versus computation. Can we think about learning (and specifically learning coding) in terms of pattern recognition? In other words, "making observations that lead to strategies that are simple at first, but as you leverage those strategies you recognize more nuanced and complicated patterns that lead to more nuanced and complicated strategies that eventually lead to a much more in-depth understanding than, say, rote memorization." Puzzles are the most concrete representation of this, says Cosulich -- "the point is the process."
The nature of hacking is pattern recognition: As you click around on Peanutty!, you can see code being written. Then you can tweak the code in turn to see what happens. The site asks you to both manipulate the code and interact with the canvas to solve puzzles. The various puzzles are open-ended enough that there isn't just one solution. "You can step outside the instructions," Cosulich says, "but you do have a goal in mind" -- namely, solve the puzzle.
Hackability: "Hacking is the key to a lot of this." Using a tool like Hackasaurus or Firebug facilitates hacking, and there's a puzzle-like element to it. The problem now, says Cosulich, is that the Web is getting harder to hack. In turn, amateurs may be less likely to dive in now. How do you build systems that make code less intimidating, that simultaneously offer constraints and encourage creativity, that get people in the "flow" as quickly as possible so they're immersed and progressing with their learning? How can you help them move from pattern recognition to building?