On teaching computer science

An old friend, annoyed by the quality of a technical continuing-education course at another institution, wrote me to ask, "When you first stepped into a classroom, how much teacher training had you had?" A recent graduate, who at my request put together a summary of their impressions of CS at UW, spent a paragraph slagging professors and their attitude towards teaching, and then asked, "PhD-level knowledge is not required to teach a second-year course, so why not hire a professional lecturer to do it?"

The answers to these questions are not comforting.

When I first stepped into a classroom, I had no teacher training. I had no instruction in what I was supposed to be doing, apart from having sat in many classrooms as a student. I had done TA work at Berkeley which involved one hour of lecturing a week; the professor in charge of the course would say, "Review depth-first search and work a couple of examples," or "Prepare some more algorithms using dynamic programming for them". The first class I taught as an instructor was at U of T, to make extra money to supplement my postdoctoral fellowship; I was put into a multi-sectioned undergraduate course, armed with the textbook and a list of topics to cover from it. No one checked up on me. When I got to UW, after two years at U of T, they assumed I knew what I was doing, and put me into graduate and undergraduate courses straight away.

Occasionally I hear students suggest that professors be sent for some basic teacher training, and I usually retort, "A lot of good it did your high school teachers!". There are a few common-sense things that people can be reminded of: project your voice, don't read off your notes or slides, prepare lectures in advance. But I don't know if a year's worth of teacher training would be an effective use of anyone's time. Teaching at the university level is supposed to be different from teaching at the high school level. We have less contact hours and less responsibility to push students along. Methods vary considerably by discipline.

There is a unit on campus called TRACE (Teaching Resources and Continuing Education) whose mandate includes helping those who wish to teach more effectively. I used to attend their seminars and workshops, and I have been on panels for them. I recognized many of the people who were attending: they were known as good teachers. It was basically the converted preaching to the converted. In addition, many of those involved had backgrounds in the humanities. Things that work in a history class with twenty students are just not applicable to a computer architecture class with a hundred and twenty students.

Why wouldn't a bad teacher try to improve? It's a question of incentive. A typical professor is supposed to spend 40% of their time on teaching, 40% on research, and 20% on service (committee and administrative work). It's clear that governments don't care that much about teaching; the demonization of teachers and the slow strangulation of education at all levels by budget cuts are proof of this. (As a result, respect among the general public for teachers is at an all-time low.) What gets them more excited is the prospect of technology transfer from research (including the work of graduate students) and the training of "highly-qualified personnel". The government, and the universities, use teaching as a way of supporting research.

On an individual level, there are plenty of brownie points to be gained by doing good research, and almost none for good teaching. Good research gets one research grants (paying for grad students, equipment, travel), publications, prestige in the wider academic community. It even can get your name into the papers. Who writes about good teachers? Tenure is almost exclusively granted for good research; teaching has to be acceptable. How many students take the time to thank their good professors, or even say something appreciative to their mediocre professors on the occasions when they are actually effective? They take what they're given, and walk away.

Students make calculations as to the utility of doing assignments, cramming for midterms, and so on. What sort of calculation should a professor make when deciding on a strategy for teaching? If they're being cold-blooded about it, their best bet is to do a mediocre job on teaching, which one can do with a fairly small amount of effort, and put the time saved into research.

Those professors who do a good job of teaching -- and I think this is true of teachers at all levels -- don't do it as a result of such calculations. They do it because they like doing it. They do it because they think it's the right thing to do. They do it because of internally-held values, not because of external rewards or pressures.

Which brings me to professional lecturers. Among our outstanding instructors are people hired as lecturers, with no research component. (Well, 10%, which is classed as "scholarship", meaning research into teaching methods counts.) They have a higher teaching load as a result. Why not have more of them?

One problem is in finding them. Not all of our lecturers are of this high calibre. We also hire a number of sessionals (people given contracts on a term-by-term basis), and some of these are also subject to considerable criticism from students. It's a choice between these people and not offering certain courses in certain terms, or packing 300 people into some giant lecture hall. Something like 30% of our course offerings are taught by sessionals; that's not a very reassuring statistic.

And even if we could find them, what guarantee is there that we can keep them? Teaching six courses a year is pretty intense; can they keep up the same energy and enthusiasm? Our outstanding lecturers are also pursuing graduate degrees; why shouldn't they decide that they want a bigger research component in their job, given the rewards it provides? Instead of teaching six courses that they've been assigned, they can teach three, and get to work on research of their own choice. Plus, their salary cap will go up.

While there isn't necessarily any connection between good teaching and good research ability, I think an argument can be made that teachers at the university level should have some connection to research, especially in computer science. The field is changing rapidly, and even teaching a lower-level course, one needs to know where it is going in order to fit the course into the bigger picture. A lecturer could in theory keep up with developments in the field that haven't made it to textbooks, but it's not as if they have much time for this sort of thing. Research also puts us in the same frame of mind as a student doing an assignment, except that there's no one for us to copy from, we have to come up with our own questions, and we're not sure they're even answerable. It's a way of keeping us humble.

The bottom line is that there are too many who benefit from the system as is for there to be much improvement in quality of teaching in the short term, and it's somewhat surprising that we can even maintain the level of quality we currently have. I think students need to learn early how to learn in the presence of bad or indifferent teachers. You must have heard rhetoric, in your first week here, about how you're adults now, and primarily responsible for your education. A lot of what follows tends to suggest that that was just talk, but I think those who take it seriously are in better shape to deal with the disappointments waiting down the road. --PR

(Adapted from a blog posting made November 4, 2003.)