Feynman lectures from Microsoft: A medium for active essays and computing ed

July 17, 2009 at 10:35 am 1 comment

I got to see the Project Tuva videos at the MSR Faculty Summit during the last session of the day Tuesday.  If you haven’t seen them, I recommend them to you.  (Though, as Ian Bogost found out, you have to have the latest version of Microsoft Silverlight to watch them.)  These are Richard Feynman’s “Messenger Lectures” which he delivered at Cornell and recorded by the BBC.  The Project Tuva site enhances the video with the ability to take notes, read others’ notes (synched to the video), see links (that appear at the appropriate points in the video), including links into simulations and even the Worldwide Telescope.  So, when Feynman talks about how stars are formed, you click and go see telescope imagery of new stars being formed.  When Feynman talks about Tycho Brahe, you go to a simulation of planetary orbits so that you can make your own velocity measurements.

While I’m a Feynman fan (as are most scientists, engineers, mathematicians, and computer scientists I know), I was more excited about the medium than I was the Project Tuva lectures themselves.  I’m still looking for the right medium (and authoring tools) to express ideas in computation.  Books don’t cut it, and running programs go too far the other way.

Expressing computation to students is as pedagogically complex as expressing quantum mechanics or electrodynamics to physics students.  Most physics educators whom I’ve asked list those subjects as the most challenging to teach since the phenomena are impossible to directly observe and the behavior is non-intuitive.  All of computing is like that!  I can convince you that Biology is really about cells with a microscope, and most of Physics and Chemistry is about explaining the phenomena that you see every day.

While we see computing everyday, the computation behind those applications is difficult to see.  Just how many for loops are necessary to write that email?  Did you see all those linked lists behind your Powerpoint slide deck?  Applications that we use daily are layers upon layers of computation, such that it’s nearly impossible to see the low-level computation that we want to teach in an introductory course.  This is the problem of not having a microscope for computing.

So, we use books with source code in them.  To imagine the execution of a piece of source code is perhaps the most important and most intellectually challenging goal of an introductory course.  If human intelligence is computable, then the Halting Problem comes into effect, and for some level of complexity, we cannot figure out the execution just by looking at the source code.  Books with source code are a reasonable way of talking about computation, once you have some level of ability to imagine execution.  For rank beginners, it’s almost cruel — it’s like saying, “Let’s have you learn Russian by throwing you into Moscow without a coat in January.  Better figure out what Russian means quickly!”

Alan Kay has argued for “active essays,” a kind of dynamic book with simulations built in.  Ted Kaehler, Mitchel Resnick, and Brian Silverman have all built some reall interesting active essays.  An active essay could expose the source code, with explanation, and allow for execution within the same medium.  As a form of scaffolding, perhaps the source code could be tweaked in some meaningful ways, so that students could see the relationship between changes to the source code and impact on dynamic behavior — which is the most important thing to learn in an introductory class!

The enhanced video mode of Project Tuva could offer a way of doing “active essays” where the base medium is video rather than text.  Active essays have simulations embedded within text explanations.  We could, however, have videos explaining concepts, with simulations embedded within the video.  That’s an intriguing notion.  As I’ve blogged previously, there is psychology evidence that lectures are better for explaining computing concepts than just reading a book. (Yes, I discovered that my old Amazon blog posts are still there, if I can find a direct link to individual posts.)  Maybe with the Project Tuva enhanced video mode, we could finally do the Metaobject Protocol book in a compelling way.

Now, speaking of “books not cutting it,” the post-review-process version of the Data Structures manuscript is due next Wednesday, and I’d better get to it before my co-author discovers I’ve been spending my writing time blogging (again).

Entry filed under: Uncategorized. Tags: , , , .

Are we measuring what students are learning? Correction and Update on APCS enrollment

1 Comment Add your own

  • 1. Mark Guzdial  |  July 19, 2009 at 9:34 pm

    Michael Mateas had a really interesting insight on this blog post over on Facebook:

    I think one thing that makes computation as a concept so hard to communicate is that computation is independent of its embodiment in any particular formal system or programming language. Imperative, declarative and functional styles, to name just three, all provide really different windows onto the same phenomena. Turing machines are no more or less foundational than lambda calculus, recursive functions, or cellular automata. Computation “in the raw”, not seen through the shape-shifting lens of a specific language paradigm or formalism, is extremely difficult to think about. Even computer scientists rarely think about or try to answer the big question: “What is Computation?” So of course our students have trouble getting their heads around it.


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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,052 other followers


Recent Posts

Blog Stats

  • 2,030,559 hits
July 2009

CS Teaching Tips

%d bloggers like this: