Fasten Your Seatbelts

March 25, 2005 – 2:39 pm

From Jon Udell’s weblog:

Civilization took a great leap forward when we learned how to write stuff down. Now we’re learning to film our stories and to TiVo them. Fasten your seat belt.

Coincidentally, I was commiserating with a fellow professor yesterday about the gulf between what universities have first-year computer science students do (”Sort a list of strings”) and what many of those same students do on their own time (”Create a Flash animation of three turtles wishing my boyfriend a happy birthday”). I guess it all comes down to Toffler’s Law: “The future always arrives too soon, and in the wrong order.”

  1. 3 Responses to “Fasten Your Seatbelts”

  2. I think that’s because the CS curriculum somehow assumes you need to be able to do things like sort strings before you can animate turtles. (Wasn’t the point of Logo that you didn’t?) It seems kind of backwards to teach the high theory stuff before giving students a good understanding of what they can do with software. In mathematics, you learn to do arithmetic long before you learn number theory and abstract algebra. The same idea should apply in CS. Incidentally, it would probably be better to get students using library sort routines with custom comparators than getting them in the habbit of writing a sorting algorithm every time.

    By Adrian on Mar 25, 2005

  3. I’ve never used flash (mea culpa), but it’s always struck me as a design tool rather than a CS/programming thing. However, what strikes me is that most comp sci programs tend to focus pre-dominantly on applied, with only a few courses on logic, algorithms, theory, and so on. Perhaps because it is such a diverse field. The best course that I had on what computing really is was a 4th year honors course on languages, automata, and computability. Why don’t we get that stuff to students earlier? Are we afraid that we’ll scare them away? (but wait… the logic course already does that) This is hard stuff, but its the foundation of the computing field. There’s too much of a focus on practical and not enough on three areas

    1. the foundations of the field
    2. the history of the field (pre-Turing, Turing, post-Turing, not ‘who invented eniac’, because that’s engineering)
    3. high-level design / soft skills (let’s throw our students into groups on a big project and see what happens)

    Don’t get me wrong - I love and need practical, but I don’t the the mixing proportions and methods are quite correct.

    Maybe more labs and experiments to get students involved (like in physics or chemistry) would help. My first labs in comp sci: follow these instructions to draw a house. My first labs in physics: perform experiments to determine the acceleration due to gravity, explore non-uniform motion, … and write-up detailed lab reports. hmmm. this leads me to another beef that I have with computing *science*, but I won’t get started on that now.

    By Liam on Mar 29, 2005

  4. I’m all for more theory, too. (I’m in Comprehensive Option.) I just think one should have a solid understanding of programming *before* starting the theory stuff. Theory is pretty meaningless unless it describes something. Prime numbers and factorizaton and polynomials are gobblydegook unless you have a thourough (intuitive?) grasp of how to multiply. In the same way, the importance of sorting algorithms, data structures, logical inference, etc. are really lost on a non-programmer.

    I would agree that calling computer “science” is a misnomer at best.

    By Adrian on Apr 1, 2005

Post a Comment