There will always be friction

October 6, 2009 at 12:12 pm 7 comments

I (finally) finished grading midterms and first round of grad student essays from my joint undergrad/grad “Educational Technology” class last night. The first phase of the class was an exploration of the proposition: “Computing creates an opportunity to program, and learning to program creates an opportunity to learn other things better.”

Many of my grad students referenced a wonderful essay by Michael Mateas, analyzing the Alan Perlis 1961 talk where he called for everyone at the university to learn to program: Procedural Literacy: Educating the New Media Practitioner.  An often quoted section from Michael’s essay focused on an interaction between Alan Perlis and Peter Elias, where Elias saw programming as a mere technician’s job:

“I have a feeling that if over the next ten years we train a third of our undergraduates at M.I.T. in programming, this will generate enough worthwhile languages for us to be able to stop, and that succeeding undergraduates will face the console with such a natural keyboard and such a natural language that there will be very little left, if anything, to the teaching of programming…”

Michael disagrees with Elias’ view:

The problem with this vision is that programming is really about describing processes, describing complex flows of cause and effect, and given that it takes work to describe processes, programming will always involve work, never achieving this frictionless ideal. Any tools that reduce the friction for a certain class of programs, will dramatically increase the friction for other classes of programs.

Can the programming language simply “disappear” from the task of programming?  I think Elias’ view represents that of most computer scientists, that the language is a mere detail in education or in actual programming. It’s omething to get rid of or ignore. Or is Michael right, and there will always be some “friction” involved?  If there is friction, how do we teach it?  Michael wants us to teach the friction, wants us to teach the “worldview” that each language builds upon.  His view is like Ian Bogost’s “Platform Studies” which suggests that understanding this “friction” is important to understanding how the technology has developed and impacts us.

Michael goes on to describe what a curriculum focused on computer-as-medium might look like:

It is important not to view computation for new media students as a dumbed-down version of the traditional computer science courses. Teaching programming for artists and humanists shouldn’t merely be simplified computer science with lots of visually engaging examples, but rather an alternative CS curriculum.

I think Michael is right. It’s probably not surprising that Michael was on the committee that created our Computational Medium degree here at Georgia Tech.  What I worry about in Michael’s comment is the implication for the Computer Science curriculum program.  What does that say about computer science if our goal is to ignore the “friction,” when that “friction” is actually important, interesting, and is part of what is most challenging for our students to learn?  What does it say about computer science if wanting to teach programming for creative expression demands the creation of another curriculum?

Advertisement

Entry filed under: Uncategorized. Tags: .

Computing Surge in Georgia from Inside Higher Ed What are the priorities of computer science?

7 Comments Add your own

  • 1. Ian Bogost  |  October 7, 2009 at 6:39 pm

    I see where the conclusion in this piece comes from, but I don’t think Michael meant to say that this couldn’t happen in CS. His article, and this section specifically, was just dealing with the implications of the computational media degree.

    If Elias’s view is truly predominant in CS, then that’s a shame. What other craft pays no attention to the details and evolution of its tools?

    Reply
    • 2. Mark N.  |  October 7, 2009 at 7:04 pm

      Math, perhaps? There’s a strong sense among many mathematicians that notation and style of proofs and such is just implementation detail that shouldn’t be dwelt on more than necessary. (Maybe CS even inherits that “it’s just notation” view directly from the mathematical part of its heritage?)

      Reply
      • 3. Ian Bogost  |  October 8, 2009 at 9:56 am

        Mmm, maybe so Mark. For example, I don’t think Newton or Leibniz ever came up in any of the reasons and conflicts of calculus and its notation when I was in school.

        Reply
      • 4. Jeff Graham  |  October 8, 2009 at 11:04 am

        I would disagree about mathematicians don’t care about notation and style. The British mathematicians from Newton until a century later stuck with Newton’s clumsy notation for derivatives and geometric viewpoint. They fell very far behind the continental mathematicians using the more conceptually powerful algebraic notation of Leibnitz. This situation has not changed in the following centuries. Mathematicians use thei language very precisely, it is not possible to do this and NOT CARE about the notation, symbols, and style of proof (the fundamental tool of mathematics). This is not at all similar to the superficial choice of a programming language to teach cs1, I don’t think. Maybe if it is, it is because cs is not a mature discipline yet being only a few decades old. So argue about the tools with vigor, you are defining the future.

        Reply
  • [...] recent discussion on my last blog post talks about how we in computer science tend to dismiss (as mathematics does, says one commentor) [...]

    Reply
  • [...] Michael Mateas has talked about this in his discussion of a published dialog between Alan Perlis and Peter Elias.  Elias claims, like Norman and Weiser, that one day “undergraduates will face the console with such a natural keyboard and such a natural language that there will be very little left, if anything, to the teaching of programming.”  Michael responds, “The problem with this vision is that programming is really about describing processes, describing complex flows of cause and effect, and given that it takes work to describe processes, programming will always involve work, never achieving this frictionless ideal.” [...]

    Reply
  • [...] Today, I’m at Carnegie-Mellon University to speak in their Program for Interdisciplinary Education Research (PIER) today, and at the “EdBag” tomorrow.  I’m excited (and a bit nervous) — I’ve never spoken here at CMU before.  Leigh Ann Sudol-DeLyser is my student host, and she gave me a great tour of the campus yesterday.  For today’s talk, I’m giving a variation of my “Meeting the Computing Needs for Everyone” talk (describing Brian Dorn’s work and the role of contextualized computing education in this goal), but with special attention to the Alan Perlis lecture from 1961. [...]

    Reply

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

Trackback this post  |  Subscribe to the comments via RSS Feed


Recent Posts

Feeds

 

October 2009
M T W T F S S
« Sep   Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Follow

Get every new post delivered to your Inbox.

Join 1,329 other followers