Evidence That Computer Science
Grades Are Not Bimodal
By Elizabeth Patitsas, Jesse Berlin, Michelle Craig, and Steve Easterbrook
Although it has never been rigorously demonstrated, there
is a common belief that grades in computer science courses
are bimodal. We statistically analyzed 778 distributions of
final course grades from a large research university and
found that only 5.8% of the distributions passed tests of multimodality. We then devised a psychology experiment to
understand why CS educators believe their grades to be
bimodal. We showed 53 CS professors a series of histograms
displaying ambiguous distributions that we asked them to
categorize. A random half of participants were primed to
think about the fact that CS grades are commonly thought to
be bimodal; these participants were more likely to label
ambiguous distributions as “bimodal.” Participants were
also more likely to label distributions as bimodal if they
believed that some students are innately predisposed to do
better at CS. These results suggest that bimodal grades are
instructional folklore in CS, caused by confirmation bias
and instructor beliefs about their students.
It is a prevailing belief in the computer science education
community that CS grades are bimodal, and much time has
been spent speculating and exploring why that could be (For
a review, see Ahadi and Lister1.) These discussions generally
do not include statistical testing of whether the CS grades
are bimodal in the first place. From what we have seen, people take a quick visual look at their grade distribution, and if
they see two peaks, they conclude that it is bimodal. But eyeballing a distribution is unreliable; for example, if you expect
the data to have a certain distribution, you are more likely to
Anecdotally, we have seen new instructors and TAs (and
students) who have shown histograms of grades and told the
grades were “bimodal.” The bimodality perception hence
becomes an organizational belief, and those who enter the
community of practice of CS educators are taught this belief.
1. 1. Explanations for bimodal grades
A number of explanations have been presented for why CS
grades are bimodal, all of which begin with the assumption
that this is the case.
Prior experience. A bimodal distribution generally indicates
that two distinct populations have been sampled together.
One explanation for bimodal grades is that CS1 classes have
two populations of students: those with experience, and
In many places, high school CS is not common or stan-
dardized, and so students enter university CS with differing
amounts of prior experience. However, this explanation fits
The original version of this paper was published in the
Proceedings of the 2016 ACM Conference on International
Computing Education Research (ICER).
students into only two bins. Prior experience is not as simple
as “have it” vs. not-there is a wide range of how much prior
programming experience students may have, and practice
with nonprogramming languages such as HTML/CSS could
also be beneficial.
Learning edge momentum, stumbling points, and threshold concepts. One family of explanations posits that some
CS concepts are more difficult for students to learn, and if
they miss these concepts, they fall behind, whereas their
peers advance ahead of them. As it is typically taught, CS1
builds on itself heavily. So once a student falls behind, they
continue to fall further and further behind.
1 This may be
exacerbated by the fact that some concepts may be key to
understanding (“threshold concepts”). One might think of
this explanation as a variant of the prior-experience explanation, where the students who have better study skills succeed, and those with weaker skills fall behind.
The Geek Gene Hypothesis. Some would instead argue
that the two populations in CS1 classes are those who have
some “natural talent,” giftedness, or predisposition to succeed at computing. Guzdial has referred to this belief as the
“Geek Gene Hypothesis”.
6 This belief appears to be quite
prevalent. In a survey of CS faculty, Lewis found that 77% of
them strongly disagree with the statement “Nearly everyone
is capable of succeeding in the computer science curriculum if they work at it.”
14 However, there seems to be little evidence that there is indeed a “Geek Gene”, and plenty of
evidence that effective pedagogy allows for all students to
Coarse assessment. Another line of explanation implicates instructors’ assessment tools as the source of bimodally distributed grades.
28, 20 A common trend on CS exams is
to ask a series of long-answer coding questions. Zingaro
et al. found that these questions offer only coarse assessment information to instructors: students either put all the
pieces together, or fail to. Instructors do not adequately
identify when a student has partial understanding nor quantify how much understanding a student has of a concept.
As an alternative, Zingaro et al. experimentally compared
using short-answer questions that build upon each other to
have one isomorphic long-answer question. When the different
conceptual parts of the question were broken up, the resulting grades were normally distributed. The all-or-nothing
nature of long-answer questions could lead to grades more
likely to be (or appear) bimodal.
Or perhaps CS grades are not bimodal? A competing view