Teaching

I enjoy teaching, I suppose because it allows me to feel that I've participated in all the things that my students go on to accomplish, and because teaching beginning students makes me look again at the beauty of structures that I might otherwise take for granted. Good teaching has much in common with theatre, which is also an interest of mine.

From 1987 to 1990 and from 1993 to 1997, I taught summer courses in computer science and neuroscience with the Johns Hopkins Center for Talented Youth (CTY). A long time ago I was a student at CTY. The students and teachers there made me feel accepted at a time when my intellectual contemplativeness had made me an outcast in school. I needed that acceptance, and I will be forever grateful for it.

Teaching serious computer science at the high school level is particularly important, since most high schools have so little understanding of what computer science really is. The vast majority of high schools that claim to teach computer science are in fact teaching only the syntax and semantics of particular computer languages. The difference is analogous to that between a course in English grammar and a course in English literature: while the former gives students the mechanics with which to represent a thought within a particular system of expression, the latter develops critical and analytic faculties that apply within any system of expression. In my course, before sitting down in front of electronic computers students are trained to think in precise, logical terms about what their programs are doing. It is only by understanding the relationship between development of a computer program and development of a mathematical proof that students can learn how to avoid `bugs' before they occur. (For introducing me to this focus on development of proof and program hand in hand, I owe a great debt to my old mentor at Cornell, David Gries.)

CTY and I finally went separate ways in early 1998. It seemed to me that the needs of CTY's growing bureaucracy had begun to overshadow the diverse needs of individual students, to a point at which the institution often forgot to involve students in defining the residential environment in which they were expected to live and to work: rather than partners in education, students were too often viewed as adversaries. In the classroom, I encourage students to question dogma, to express their creativity, and to think of better ways of doing things. This participatory style of education shouldn't end at the classroom door.

In the summer of 1998 I imported the computer science course to the Duke University Talent Identification Program (TIP), where I also had been a student a long time ago. TIP lasted a few years for me, through the summer of 2001, but eventually it too seemed to be succumbing to an atmosphere of regulation rather than cooperation which, I'm afraid, is becoming the norm in American education. Sadly, after my departure TIP eliminated computer science from its course offerings.

When I was in Boston I was a lecturer at MIT, teaching science and engineering writing in the Program in Writing and Humanistic Studies. I also taught a course on the C programming language as part of the IAP offerings of the Student Information Processing Board (SIPB), and weekend courses for local high school students in computer science and neuroscience.

In June 2002 I moved to the University of Cambridge, where I supervised second-year medics at Churchill College in neurobiology and behaviour. What one accomplishes at Cambridge is not so much a question of what one is able to do as it is a question of where one has been and whom one knows. Nevertheless, with stealth and cunning it's possible to survive.