V
viewpoints
DOI: 10.1145/1538788.1538803
Viewpoint
why Computer science
doesn’t Matter
Aligning computer science with high school mathematics can help turn it into an
essential subject for all students.
In MarCH 2008, the College
Board (which administers
the Advanced Placement (AP)
exam) did the unthinkable by
reducing a vibrant technology
discipline, computer science, to the
same level of unpopularity as a dead
language, Latin. It achieved this by
canceling an AP exam2 in each area.
Although ACM and other organizations provided data on the sustained
levels of the other AP computer science exam, these statements mask
the relative unpopularity of computer
science compared to more traditional
mathematical disciplines. Concretely, in 2007, a total of 19,392 students
took one of the computer science AP
exams, in contrast to 267,160 who
took calculus and 96,282 who took
statistics. 1
Perhaps this isn’t surprising. The
three Rs—reading, ’riting, ’ritmetic—
symbolize what matters in U.S. primary
and secondary education. Teaching
these three essential skills dominates
the scholastic agenda in the minds of
parents, educators, and legislators.
Any new material competes with these
core elements; if it isn’t competitive, it
is marginalized.
Computer science plays such a marginal role. A large part of the problem
is due to how computing is portrayed
to schools, parents, the people who allocate the education budgets, and the
students. The high school curriculum
is mired in teaching fashionable programming languages and currently
popular programming paradigms.
There is great churn in how to teach
this complex content to people for
whom its complexity is likely to be inappropriate. Never mind that the languages and perhaps even paradigms of
today will have evaporated by the time
the students graduate.
This trend is not limited to high
schools; it is repeated in the introductory college curriculum. Indeed, many
high schools are merely reflecting the
curricular confusion at the college
level. Colleges, in turn, have a problem
of their own: declining enrollments in
computer science.
When enrollments decline, the
leaders of the computer science education community routinely look for saviors: graphics, animation, multimedia,
robotics, and games have all been cast
in this role. Not that integrating such
topics into a course on computing is
necessarily bad; but such ideas are
frosting, not essentials. This search for
saviors pervades thinking about introductory college curricula, and much of
it percolates to thinking at the secondary school level in the form of AP and
pre-AP curricula. Others, wanting to offer alternatives, act embarrassed about
programming, which is our field’s
single most valuable skill, and seek
to marginalize it (for example, see the
November 2005 Communications
column titled “Recentering Computer Science”). Meanwhile, ACM’s own press
releases attempt to downplay the gravity of the situation.
3
What our community should really
aim for is the development of a curriculum that turns our subject into the
fourth R—as in ’rogramming—of our
education systems. This can not only
address high school curricular concerns but can also become an integral
part of general education and distribution requirements in college. One way
of achieving this goal is to align computing through programming with
one of the three Rs and to make it indispensable. An alignment with mathematics is obvious, promising, and
may even help solve some problems in
mathematics education.
Mathematics and Programming
All students must enroll in mathematics for most of their school years. Many
of them already struggle with it. Does
hitching programming to mathematics make any sense? Consider high
school algebra. Bewildering exercises
about flies flitting between trains do
nothing to help students understand
that algebra can actually be put to
work. Algebra textbooks try hard to
enliven their content with high-gloss
color photographs, which we can immediately recognize as symptoms of
failure, not a reprieve from it. In part,
school algebra appears fundamentally
dull to students because it appears to
be all about numbers, which play at
best a small role in the media-rich, interactive lives of students. We propose
the paradigm of imaginative programming, which weds programming to al-