My goal with this blog

I write about relevant changes in the way that people use the web and how startups are built to provide services and products for this ever changing wonderful thing we still know as "the web." As a former entrepreneur turned early-stage investor, my greatest hope is for this to be useful to other folks that are like me in the hopes that they can avoid some of the mistakes I've made.

Scrambled Squares and computational thinking

I have been a fan of Jon Udell's ever since his awesome "Practical Internet Groupware" hit the stands back in 1999. So when he interviewed the dean of the CS department At Carnegie Mellon, Jeanette Wing, about her views on the importance of "computational thinking" as a core discipline that should be taught to kids early on, I was intrigued. Lego Mindstorms and Milton-Bradley BigTracs notwithstanding, I've always found the ability to reason abstractly and algorithmically about a problem a huge asset that has been helpful to me way beyond of the realm of programming a computer. And now that I've got Alex (my five year old) getting to an age where he can start to grok this, I'm obsessed with taking every opportunity to pass this down.

Scrambled Squares

Which, as you can imagine, doesn't make me (or the rest of my family) that much fun for playing games or doing puzzles. Ever since I can remember, every game we've ever tried to play quickly turns into an excuse for thinking about how a computer might do it better: from Blackjack to Clue, from Stratego to Scrabble. This weekend we had a similar situation with a puzzle called "Scrambled Squares" from a company called B-Dazzle that my in-laws had bought for Alex because the puzzle was about pirates (a long standing obsession of his). On the face of it, the puzzle appears to be about spatial reasoning: nine squares, each with 1/2 of a pattern on each side, have to be put together to form a complete 3x3 super-square where all of the patterns "foot." But with way too many combinations, spatial reasoning and brute force quickly give way to tearing your hair out and declaring the puzzle unsolvable.

And thus, Scrambled Squares is a great puzzle for teaching the principles of computational thinking. The puzzle is mostly governed by very visible constraints which quickly force the issue of more abstract thinking, and to boot, it's got a great graphical interface that encourages all sorts of direct manipulation.

In the end it was unrealistic of me to expect that I could teach him how to solve it for himself (I could barely solve it myself!). But I was very pleased to see that certain lessons (find the middle piece and work outwards, find blocks of two and try those as 'units,' turn the highest 'constraint-pleasing' edges inward) were quickly internalized and then repeated to the gathering crown of befuddled adults. What we ended up with was much less of a formal algorithm (though a subsequent Google search turned up a whole term project on it), and more of set of rules to cut down the space of possible arrangements. But it is precisely this type of early computational thinking that I'm guessing does not get covered in primary school math classes and thus why we may indeed need to introduce a new top-level discipline right from the get-go.