Reading Mark Guzdial’s “MOOC are a fundamental misperception…” got me thinking about what happens at a university. I’m not a researcher of computing education, so I only have my own experience to go on. I learnt 3 things at university: the theory of finite automata; graph theory; and what a co-routine is. Technically, 6 things if you also count punting, juggling, and typography.
I learnt about finite automata because I was exposed to Unix in my 3rd year and wanted to know how grep was implemented. Knuth, Regular Expressions, DFAs, NFAs. I did all that basically on my own, in the library. The following year I did take a a compulsory course on finite automata for my diploma in computer science, and it was better. The course lectured by someone competent was definitely of benefit. Hard to say whether I learnt more stumbling around the library on my own, or guided by an actual theoretical computer scientist. But I learnt in both cases.
Graph Theory I learnt at the knee of Béla Bollobás. I went to his lectures, and (some of) his supervisions. And that was all good. But I felt I really learnt it when I took myself off to South Wing 6 with a copy of the course text pulled off the shelf and left in a corner so that nobody else could find it (if I’d borrowed it then someone might have recalled it and I’d have to return it, but as long at is was physically in the library, they’d have to find it before they could borrow it). It was an enlightening moment for me; for the first time I realised I could learn a course, pretty well, by reading the set text carefully. Graph Theory is a pretty hard course, and I am not a strong mathematician. If I could learn that, I could do anything!
Coroutines I learnt after my graduate supervisor Arthur Norman handed me a crib sheet explaining how to transform a simple lisp program into continuation passing style and suggested that my project be an implementation of a Lisp-like language with coroutines. He didn’t just kick me out of his office, we spent an hour going over it first. Then I learnt about Simula, coroutines in BCPL and TRIPOS, Knuth’s self-modifying MIX, and so on. Mostly from dusty volumes in the lab’s library.
So what’s the story here? Can a MOOC do this? I’m really not sure, I think I’d do pretty well with a MOOC though I’ve never taken one. The stories are are not particular simple. Different learning strategies are mixed together, some lecture, some one-to-one, some self-directed research. Is this what a university does well? Here’s what I think a university does well: clever people who are motivated to learn (faculty and students); good libraries; some course content. Obviously I went to a lot of lectures at university, but looking back I wonder if those lectures did little more than provide a framework on which learning was to hang.