V
viewpoints
DOI: 10.1145/1506409.1506420
education
Teaching Computing
to everyone
Studying the lessons learned from creating high-demand
computer science courses for non-computing majors.
SeVeral CompUTIng programs in the U.S. are developing new kinds of
introductory computing
courses for non-computing majors, some with support from
the NSF CPATH program. At Georgia
Institute of Technology (Georgia Tech),
we are entering our 10th year of teaching computing to every undergraduate on campus. Our experience gained
during the last decade may be useful to
others working to understand how to
satisfy the growing interest in computing education across the academy.
computing in General education
photograph by Judson Collier
In fall 1999, the faculty at Georgia Tech
adopted a requirement that all students must take a course in computing.
We modified the academic year from
quarters to semesters, which gave the
campus the opportunity to rethink the
curriculum and our general education
requirements. Russ Shackelford, Rich
Leblanc, Kurt Eiselt, and the College
of Computing’s then-dean, Peter Freeman, convinced the rest of Georgia Tech
that all students who graduated from
an Institute of Technology should know
computing. We started before publication of the National Research Council
report Being Fluent with Information
Technology, 3 though that report significantly influenced implementation.
The new requirement wasn’t a hard
sell. Faculty in the College of Engineering had wanted to implement a programming requirement for their stu-
dents, but couldn’t decide who should
teach it. The creation of the College of
Computing in 1990 answered the question of whose job it was to teach computer science at Georgia Tech. Faculty
in the Ivan Allen College of Liberal Arts
(and in other colleges) embraced the
new requirement. Computing was increasingly relevant for their disciplines,
and was a value-added requirement for
their graduates. The campus administration was kept abreast and involved
throughout to maintain support. The
new general education requirement
was defined as an outcome—students
would be able “to make algorithmic
and data structures choices” when writing programs. That simple phrase de-
scribes a serious introductory course.
teaching everyone in one class
For the first four years of the requirement, only a single class met the requirement: CS1321. There were several reasons for having only a single
course. While we were already teaching
approximately two-thirds of the students at Georgia Tech (because several
of the largest degree programs already
required computing), teaching everyone on campus meant well over 1,200
students a semester. The immensity of
the task was daunting—splitting our
resources over several courses seemed
a bad start-up strategy. We were also
explicitly concerned about creating
the christopher W. Klaus advanced computing Building on the Georgia tech campus is home
to the institute’s college of computing and School of electrical and computer engineering.