Thursday, September 27, 2012

Bret Victor blows my mind! Where does he get those wonderful toys?

Bret Victor's essay response to the introduction of a live coding enabled introduction to computer science at Khan Academy is a must read for any person who programs or teaches people to program.

Bret Victor's earlier video is also required viewing in my opinion:


I'm requiring it for my game programming students and am desperately trying to find some way for them to get access to the game development environment Bret showed us in the lecture above.  I emailed Bret Victor himself to ask for access, but was not surprised not to hear back.  Bret is clearly a man very much in demand, and I'm nobody :-)  

His latest essay with many chunked video examples hammers home the point about how to make programming understandable.  I just wish I knew what he is using to make his interface demos.  Perhaps he is intentionally keeping that a secret in order to encourage others to redesign their tool kits. I know of several projects inspired by his earlier video - I can imagine many more arising from this latest essay.  As an educator and a programmer I am frustrated that I don't have better access to the tools that Bret is describing.  I don't know if I have the requisite skills to help make it happen, but I want to help make those tools available to everyone.

The other thing is that I really want to see something like the inverse of what Bret shows where he demonstrates the process of abstracting code through a series of steps.  I want to see something more like his earlier example of creating bits of code by dragging and dropping shapes.  I've tried many many introductory programming packages, but still haven't found one (or created one) that allows the user to move an object through space and have the relevant bit of code pop up.  This I think would be so uber-useful for kids learning to code.  I just wish I had access to whatever toolkit Bret uses to mock up his UI ideas so I could quickly express this concept better.

5 comments:

Frank Hecker said...

"I just wish I knew what he is using to make his interface demos."

I suspect it's a combination of his JavaScript library Tangle to provide interaction for the code itself and processing.js to use the code to draw shapes on the right. (The code as shown draws the green shapes, and he probably has "hidden" Processing code to draw the graphical elements in red on top of the shapes.)

Sam Joseph said...

Hi Frank. Yes, Tangle is great - wish he'd open source his demos so we could build on them. I'd be surprised to find he was using Processing since he so roundly condemns its flaws in the post. I'll have to look more closely at Tango - superficially it seems to only support text based stuff ...

Sam Joseph said...

Looks like this might be more acceptable to Bret's immune system: http://pythontutor.com/

Sam Joseph said...

I wonder if http://pythontutor.com would pass muster with Bret as a learning tool matching some of his vision?

Sam Joseph said...

It looks like it's just his tangle JavaScript framework tweaked into a game actually. With a few ui elements added for enhancement. It looked so advanced because it's revolutionary but I personally don't think the tool used is as advanced as his demo made it out to be. Also somebody has duplicated the basic functionality already it seems
http://danielchasehooper.github.io/CodeBook/