Defining Media Computation: Shifting levels of abstraction for fun

August 10, 2009 at 1:10 pm 1 comment

Bettina Bair of Ohio State University stopped me several years and asked, “If we build a course on building video games using graphical objects, is that a course on Media Computation?”  That was the first time that someone challenged me on what I meant by “Media Computation.”  I said “No,” and my reason was that Media Computation was about manipulating pixels and samples in order to create larger and more interesting artifacts.  That’s how students in MediaComp CS1 come to understand assignments, functions, arrays, loops, and conditionals, and the very important notion that these low-level computational pieces lead into larger artifacts.

When I revised the Media Computation website this summer, I posted that definition.  Beth Simon of University of California at San Diego challenged me on it.  “You’re missing the point that you only introduce ideas as you need them.  You don’t frontload the course with material that students don’t have a reason to learn yet.”  I agreed with her, and thanked her for noticing that we put that into our books.  But that’s not a critical part of what is “Media Computation.”  I think that MediaComp is a broader idea than just the pedagogy that Barb and I use in our books.  I claim that others’ books (as I do on the website) use MediaComp, too.  MediaComp is less about the order of what’s taught and more about what and how it’s taught.

In teaching three workshops in the last two weeks (whew!), I realized that my definition didn’t even encompass our own work.  Our CS2 MediaComp course has students build animations out of linked lists, trees (scene graphs), and simulations. They created music by weaving linked list nodes containing MIDI phrases.  I realized that MediaComp was more generally about creating media through manipulating computational components at lower-levels of abstraction.

I realized an important piece missing from my definition in these last weeks of workshops: the power of expressive media. Over and over again, I heard teachers talk about how excited they were about making music with MIDI, about making animations, at discovering new ways of using their own personal pictures in their computing.  Part of what MediaComp does is remind computer science faculty that the goal of the personal computer is to create “A Dynamic Medium for Creative Thought” and is meant to be “a medium for expression through drawing, painting, animating pictures, and composing and generating music” (quotes from Kay and Goldberg’s Personal Dynamic Media from IEEE Computer, March 1977).

My sense from listening to the teacher-participants is that combining CS1 with expressive medium gives them permission to be exploratory and creative. The fact that the focus was on the CS1 meant that they didn’t have to be careful, stuffy, and academic with the media. “Computer Graphics” is a serious area of study that gets presented at SIGGRAPH and leads to sophisticated CGI effects and video games.  There’s a similar concern about playing around with “computer music.” Then there’s the stuff that those “artists” do, that isn’t what many CS professors see themselves doing.  But, when the focus is on learning arrays and conditionals, then the media is just (literally) “for fun,” and the teachers did seem to have fun with it.  Check out their work on the workshop collage, sound, and video pages.

I’ve made a pass at combining all of these ideas in the definition now at  Media Computation is about shifting levels of abstraction in order to produce creative expressions, working at the low-level to create media that inspire and engage at the high-level.  I’ll probably revise that definition again after the next set of workshops — but not until next summer!

Entry filed under: Uncategorized. Tags: .

The lessons of invention for learning Questioning the report that High School CS is declining

1 Comment Add your own

  • 1. Dave Bauer  |  August 14, 2009 at 10:20 pm

    This sounds to me like how Berkeley took SICP and used words and sentences instead of numbers to make the first steps into data structures and Scheme more managable. But more fun.


Leave a Reply

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

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

Google photo

You are commenting using your Google 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,026 other followers


Recent Posts

Blog Stats

  • 1,986,105 hits
August 2009

CS Teaching Tips

%d bloggers like this: