The Null Professor

This is a post about CS education. It is prompted by a series of posts by Mark Guzdial in which he criticizes the pervasive belief among CS educators that when it comes to programming, there’s not much an instructor can do: some students get it, others don’t; it’s all in genetics or other external factors that CS educators can’t influence (aka the Geek Gene Hypothesis). I am with Mark on this, but I feel a bit stronger about it than he does. I think that attitude is bullshit, and the studies supporting it are unsound by means of making conjectures ignoring an enormous number of confounding factors.

Throughout history, and even today in certain parts of the world, attitudes like this have been the basis for keeping entire segments of the population uneducated (“teaching women to read and write?! seriously, they can’t do it, look how much longer it takes for them to learn” or “blacks in Universities?! seriously, they can’t do it, look how their grades are so much lower”). This is basically the attitude of a class of educators who live so much inside the box of convention and intellectual lazyness that they are uncapable of seeing the big picture. I know this, because of two things. First, after the first few years of being a professor, my conclusion was the same: there’s nothing I can do, some students get it others don’t. I’ve learned a few things since then, and I know I was completely wrong. I was being a “Null Professor” at the time. Now I know better. Second, looking back at my own experience as a college student I was one of those students who “didn’t get it” at first. In fact, I had no idea what I wanted to do when I grew up, and in my Electrical and Computer Engineering program, programming was one of many topics that came my way; understanding and learning to love programming was a slow process that came only in my 3rd year of college.

Let me expand on these two points.

The Null Professor

In his essay How to Start a Startup, Paul Graham says something that grabbed my attention ever since I read it:

It’s no coincidence that startups start around universities, because that’s where smart people meet. It’s not what people learn in classes at MIT and Stanford that has made technology companies spring up around them. They could sing campfire songs in the classes so long as admissions worked the same.

Graham is absolutely right. Admissions at the very top Universities, more than any of their education programs, are the key to these Universities’ claims to successful education. Because these Universities get so many applicants, they can afford to admit only “the best” students, where “the best” means that they are all very smart and — more importantly — very self-driven. As Graham says, you could just bring these students in, get rid of all formal instruction, let the students define their own learning agendas, and 4 years later they would come out as well prepared as they do now. Really, in those Universities, formal instruction seems like a waste of resources. Because the students are so self-driven, Professors there can afford to become Null Professors.

So what is a Null Professor?

A Null Professor is someone who never has to think about pedagogy. The Null Professor is not necessarily a bad professor, although that may happen too; it’s just that he/she doesn’t think about pedagogy, teaching comes as whatever natural teaching skill he/she has. The Null Professor can go to class, lecture however he/she feels like that day — usually appealing to the top students in class — keep giving the same kinds of tests that have been given in that course for the past N years, and expect that the students will learn. In those very top Universities, many times the students learn the material not because of the instructors, but in spite of them. Because, you know, they are self-driven and they don’t want to fail the courses.

But what happens when the students aren’t those “failure-is-not-an-option” people that flock to MIT and Stanford? Here at UC Irvine, for example, we get a mixed bag of students. Some are very self-driven and would do as well in places such as MIT and Stanford; others, for a number of different reasons, aren’t entirely self-driven. They need guidance; they need attention; they accept failure as a possible outcome; they need… gasp!… to be taught!

What’s a Null Professor to do with these students?!?

Well, one approach is to come to the conclusion that some students just “don’t get it,” and continue to lecture to the ones who do. After all, if some students “get it” with the Null Professor’s lectures, then all students should “get it,” right? The baseline is the students who get it. It’s the slackers’ fault for not trying hard enough: if they were more like the students who get it, then they would get it too.

I confess I was a Null Professor in the beginning of my teaching career, simply because I had no idea of how to teach. I was perfectly happy if 10% of the class would “get it.” For everyone else, “work harder” — that seemed to work in many institutions. Then at some point, I was forced to teach an upper division programming-intensive course that had a very strange composition of students: there were CS students there but there were also students from the Business Information Management major who had taken one programming course 2 years before and had no intention of becoming professional programmers. Predictably, the final grades reflected this divide: the BIM students got, on average, lower grades than the CS students. That bothered me. A lot. Unfortunately for me, in this case I could not invoke the slacker argument: the BIM students were at least as self-driven as the CS students, if not more. They tended to be very smart, and they asked really good questions in class. They just didn’t know how to program as well as the CS students, hence the lower grades, because the course assumed the students knew how to program to some level of sophistication.

This was the first time I came face to face with the issue of pedagogy. If these smart, self-driven BIM students were getting lower grades than the CS students, then maybe what I was teaching and the projects I gave them to do were simply not the right thing for them. That was clearly the case. And this was the beginning of my acquaintance with pedagogy. Maybe — just maybe — those other students who I thought “didn’t get it and never will” in previous courses, maybe, they, too, needed to be taught in a different way. Maybe I hadn’t been teaching people at all! I went back to read Paul Graham’s passage. Maybe the students who “got it” would have gotten it without me. And if that was true, then what was the point of being a Professor? That was a scary realization!

Additional data came in the following years, also related to that course. Every year, I also teach the same course at the graduate level. The lectures were exactly the same; the instructional support was exactly the same; the projects were slightly harder at the grad level than the undergrad level; and the grad students had to read papers additionally to the projects. The age difference between undergraduates and graduates was very small: the undergraduate course got mostly seniors in their next-to-last quarter. Here are the grade distributions, even when counting only CS undergraduates:



OK, so all pedagogy parameters being the same, the drastically different outcomes can only be explained by differences in the student populations. Graduate students are ALL highly motivated, self-driven people; undergraduates… there’s a lot more variation. They have stuff going on in their lives — interviews, financial problems, emotional problems… Again, my presence at the graduate level seems irrelevant: those students “get” the material irrespective of me. I can be a Null Professor in that course, and they’ll be just fine. But what about the undergraduates? If I tune my teaching for the self-driven students, and play Null, I’m not really teaching…

How do we teach non self-driven students? Let me play Null Professor here for a minute and suggest that maybe we shouldn’t. Life is tough. When they go out for jobs, no one is going to do their work for them or spend a lot of time coaching them. They need to learn that they need to be self-driven if they are going to get ahead. That’s the “tough love” philosophy. But what’s really going on in their heads? Should we really be this tough or is this just our rationalization of the problem so that we can be lazy?

This leads me to the second point.

Why Students Don’t Get it

As I said earlier on, I was one of the students who first didn’t get programming — at least when compared to some of my classmates. It wasn’t until my 3rd year in college when I finally started to do some real programming projects, that I started to fall in love with it. In my case, the reasons why I first didn’t get it are very clear: I can never appreciate things in abstract. Call me pedestrian. Call me pragmatic. Call me an engineer. That first introductory programming course, where we were taught Pascal — variables, procedures, pointers, etc. — didn’t do anything for me. The examples were so irrelevant and artificial that the whole thing seemed irrelevant and artificial. Give me a real problem, and I’ll likely find a solution for it, paying close attention to anything that might help me solve it; give me a fake problem, and I don’t think it’s worth my time; my brain shuts off. I suspect a lot of people (especially women) are like me.

I’m sure there are many more reasons why people don’t get programming. Here are some possible ones of the top of my head: they get turned off by the know-it-alls in class; they fail to grasp the confusing terminology that Computer Scientists have adopted; the instructor fails to answer their questions appropriately because he/she is also confused.

So I completely second Mark Guzdial’s call for better methods for teaching this material. First of all, teaching should be directed at the average student who doesn’t know much about programming, not at the students who already have considerable experience. In fact, excusing those latter students from introductory programming courses should be the norm. Then, methods that are problem-driven and hands-on rather than abstraction-driven will likely yield better learning outcomes for certain populations (that’s my suspicion). More importantly, we all need to snap out of stereotypes and refuse to accept the pseudo-scientific studies that show one thing or another while ignoring an enormity of confounding factors.


A final word on genetics. There is increasing evidence that there are substantial differences in the way that various segments of the population learn. For example, studies have shown that men’s and women’s brains are wired differently. So maybe we need to use pedagogies that work better for each group, instead of uniformly using the white male-dominated learning paradigms that have been forced on us for centuries, only to discover that they tend to turn women off. I am a big fan of the changes that Harvey Mudd introduced in their CS curriculum.

This entry was posted in academia, education. Bookmark the permalink.

12 Responses to The Null Professor

  1. This is a subject that is very close to my heart (and I follow Mark Guzdial’s blog), because of my terrible experiences with computer programming all the way till my 20s, only the surface of which I scratched in a blog post of mine:

    I’m very committed today to helping people with programming, realizing that so much of the “standard” way of “teaching” is completely ineffective for a lot of people. This is true for many subjects, not just programming: a lot of things that came to me late (such as cooking, dancing, running) got me thinking about how those of us who are not “naturals” or inherently motivated right from the start can be left behind.

  2. Josh Glover says:

    Very nicely put, Dr. Lopes.

    After watching your InfoQ talk on “Constraints and Styles of Programming”, which I enjoyed as much for your speaking style as the content, I subscribed to the RSS feed of your blog. I’ve been delighted to find the same thoughtfulness and obvious love of CS pedagogy in your blog posts that was on display in your talk.

    I just wanted to let you know that I appreciate your writing, and long may this blog continue!

  3. Bom Dia says:

    O Professor: Está mal. Porque é que não fazes bem? Olha o Bruno, que bem que ele faz. Porque é que não fazes como ele?

    É evidente que o Bruno, o melhor aluno da turma, já tinha dado aquela matéria. Aliás, já tinha trabalhado na área. Como se não bastasse, o Pai do Bruno trabalhava, sempre trabalhara, na área. Pelo que o Bruno estava mais do que à vontade. Perfeitamente familiarizado com o vocabulário utilizado para explicar aqueles conceitos. Pudera. Estava habituado desde pequeno a ouvi-lo. Já eu, que por acaso até queria perceber (juro que queria, só eu sei das noites em branco a partir pedra), andava à nora. Explicar determinado conceito recorrendo a conceitos que a pessoa a quem se está a explicá-los não conhece equivale a construir uma casa com tijolos de gelatina. Um pecado capital (não o único, longe disso) em matéria de pedagogia. Não se deverá, portanto, o professor que o comete, admirar que o aluno com o qual tão débil método empregou lhe responda ‘’mais ou menos’’ à pergunta (ela própria ridícula) ‘’percebeu?’’.

    Bem como evidente é que nunca me passou sequer pela cabeça responder a referido professor aquilo que me ia na alma. A saber,
    ‘’Imagine que vai ter com o mecânico e que este último, após prolongada contemplação do seu automóvel se vira para si e lhe diz assim:
    ‘’Olhe que o seu carro está avariado! Não anda bem!’’
    ‘’Para de seguida apontar para a televisão, que naquele momento está a transmitir um grande prémio de fórmula um e lhe adiantar:
    ‘’Está a ver aqueles ali? Não consegue andar como eles? Não vê? É só fazer igual!’’
    ‘’Logo a seguir apresentava-lhe a factura. Com que opinião é que o Senhor Professor ficava deste mecânico? Ficava exactamente com a mesma opinião que eu tenho de si.’’

    Tudo isto para lhe dar os parabéns por este excelente artigo. De uma pertinência inestimável. A pedagogia desempenha um papel fundamental na construção da tal sociedade mais justa que todos gostamos de apregoar mas pela qual pouco fazemos. Porque dá trabalho. Assim como ensinar.

    Vim parar ao seu blog por acaso. Andava à procura de um dicionário de expressões idiomáticas inglês-português, português-inglês e dei com aquela sua divertida lista de expressões traduzidas.

    Desejo-lhe a continuação de um bom dia e de um excelente trabalho. Houvesse mais pessoas como a Senhora Professora, e seria possível evitar muita tragédia.

  4. For the most part I really appreciated your post. I find myself in total agreement except for your “genetics” section, which I find rather troubling.

    First off, that study about male and female brains being “wired differently” has been pretty strongly criticized/debunked by the neuroscience community. The way the press has reported on it has overstated its conclusions and the study itself has a large number of methodological issues. A sampling of the critiques:

    The mentality that women (or Blacks, or whoever else) have brains that are different is the same sort of rhetoric that has been used in the past to exclude women/Blacks/etc from formal education. You start your blog post off arguing against this sort of exclusion and the ‘geek gene’ crap. Why perpetuate it at the end of your post?

    Finally, when we look at interventions like at Harvey Mudd or elsewhere, where they had significant success improving CS/STEM education for women, this often helps /everybody/. It’s not a question of improving education for women vs. improving it for men. The interventions increasing female success generally have either a neutral effect on male success, or commonly, /also/ increase male success.

    The papers published on the changes at Harvey Mudd report that male students have found the new CS1 just as valuable as the female students did — and the research experiences the Mudd folks created for students have similarly been reported as useful by both male and female students.

    • Agreed about the neuroscience. It’s used as justification for strange things way too often (especially the never-dying “Learning Styles” theory) [1]. Whenever people start talking about it, I get nervous.

      But isn’t there some strong research that indicates that gender introduces different motivations in students – albeit because of culture than genetics? Most of the papers I read talk about how male students are easily motivated with things like game development (but don’t really have much Interest-related motivation difficulties at all), whereas female students are typically more motivated by the potential social impact of what they are learning [2]. That’s why it’s valuable to move away from entertainment-driven curriculums and instead focus on Useful-driven curriculums. So there are important differences between men and women students – not hard-wired by genetics, but by social roles and upbringings?

      [2] Lori Carter. 2006. Why students with an apparent aptitude for computer science don’t choose to major in computer science. SIGCSE Bull. 38, 1 (March 2006), 27-31.

      • It’s a myth that women are more interested in the social impact of what they do — at least, when limited to women who are already interested in studying computer science. Orit Hazzan has written about this. For example, the book _Unlocking the Clubhouse_ made the assumption that women were more interested in applied rather than theoretical computer science, but the same group at CMU from which that book arose later discovered that when they made certain changes to make the department more accessible to everyone (such as eliminating requirements for prior programming experiences), they found that the women students in their department were both more interested in, and better at, theory than the men students were.

  5. Pingback: Why is computer science education so horrible | keeping simple

  6. I really hate the gateway, “only the smartest will get it”, style of teaching I see in a lot of CS and other science/engineering courses. It’s terribly destructive.


  7. Crista, why do you work so hard to tear down certain steretotypes (and so well, too!), only to perpetuate your own (about elite universities)? You say we all need to “snap out of stereotypes and refuse to accept the pseudo-scientific studies”, yet you don’t merely accept but extrapolate from and go well beyond Graham’s not-even-scientific not-even-study: why?

    • crista says:

      Shriram, if we only talked when we are backed up by hard data, we’d all be very quiet for long periods of time 🙂 Discussing important issues is also a matter of picking interesting observations and analyzing them. Observations like those are part of the very critical hypothesis generation phase of things. Sometimes you can actually go all the way and measure things empirically; other times, the issues are so complex that you can’t do that, so all we have are observations and the discussions around them.

      • Got it. So stereotypes are fine so long as they are convenient. Never mind that people with decades of experience on the ground at those elite universities would vigorously disagree (with private gradebooks as evidence) with your claims.

        Ducking behind “hypothesis generation” is a convenient but invalid feint, because “Graham is absolutely right” is not written as a hypothesis (any more than every word of every article can be considered hypothetical): he’s not merely right, he’s absolutely right!

Comments are closed.