TITLE: The Challenge Facing CS Education
AUTHOR: Eugene Wallingford
DATE: October 02, 2017 12:16 PM
Today and tomorrow, I am at a CS Education Summit in Pittsburgh.
I've only been to Pittsburgh once before, for ICFP 2002 (the
International Conference on Functional Programming) and am glad to
be back. It's a neat city.
The welcome address for the summit was given by Dr. Farnam Jahanian,
the interim president at Carnegie Mellon University. Jahanian is a
computer scientist, with a background in distributed computing and
network security. His resume includes a stint as chair of the CS
department at the University of Michigan and a stint at the NSF.
Welcome addresses for conferences and workshops vary in quality.
Jahanian gave quite a good talk, putting the work of the summit
into historical and cultural context. The current boom in CS
enrollments is happening at a time when computing, broadly defined,
is having an effect in seemingly all disciplines and all sectors of
the economy. What does that mean for how we respond to the growth?
Will we see that the current boom presages a change to the historical
cycle of enrollments in coming years?
Jahanian made three statements in particular that for me capture the
challenge facing CS departments everywhere and serve as a backdrop
for the summit:
Thus the idea of a CS education summit. I'm glad to be here.
(*) In my experience, it is much more likely to find a person with
a CS or math PhD and significant educational background in the
humanities than to find a person with a humanities PhD and
significant educational background in CS or math (or any other
science, for that matter). One of my hopes for the current trend
of increasing interest in CS among non-CS majors is that we an close
this gap. All of the departments on our campuses, and thus all of
our university graduates, will be better for it.
- "We have to figure out how to teach all of these students."
Unlike many past enrollment booms, "all of these students" this
time comprises two very different subsets: CS majors and
non-majors. We have plenty of experience teaching CS majors,
but how do you structure your curriculum and classes when you
have three times as many majors? When numbers go up far enough
fast enough, many schools have a qualitatively different problem.
Most departments have far less experience teaching computer
science (not "literacy") to non-majors. How do you teach all of
these students, with different backgrounds and expectations and
needs? What do you teach them?
- "This is an enormous responsibility."
Today's graduates will have careers for 45 years or more. That's
a long time, especially in a world that is changing ever more
rapidly, in large part due to our own discipline. How different
are the long-term needs of CS majors and non-majors? Both groups
will be working and living for a long time after they graduate.
If computing remains a central feature of the world in the future,
how we respond to enrollment growth now will have an outsized
effect on every graduate. An enormous responsibility, indeed.
- "We in CS have to think about impending cultural changes..."
... which means that we computer science folks will need to have
education, knowledge, and interests much broader than just CS.
People talk all the time about the value of the humanities in
undergraduate education. This is a great example of why. One
bit of good news: as near as I can tell, most of the CS faculty
in this room, at this summit, do have interests and education
bigger than just computer science (*). But we have to find
ways to work these issues into our classrooms, with both majors