Making CS Fun Again - Stanford Computer Science

advertisement
Has anyone considered the possibility that it’s just not fun anymore?
—Don Knuth, October 11, 2006
Making Computer Science Fun Again
Informatics Education Europe II
Thessaloniki, Greece
November 29, 2007
Eric Roberts
Professor of Computer Science, Stanford University
Past Chair of the ACM Education Board
The Crisis in Computing Education
That there is currently a crisis in computing education is not in doubt.
— McGettrick et al., SIGCSE 2007
• As everyone has now been aware for some time, computing
enrollments in the United States and most of Europe have
plummeted since 2001.
• This drop is of significant economic concern because those
same countries are training far fewer people than they need to
fill the available positions. In the United States, there are now
many more jobs in the IT sector than there were at the height
of the dot-com boom, with all projections pointing toward
continued growth.
• This decline has been even more rapid among women and
minority students, reducing diversity as the pool shrinks.
Reframing the Issue
• All too often, those of us who teach computing have looked at
the declining interest in the discipline as an enrollment crisis.
• This characterization is self-defeating and makes it harder to
attract allies to our cause.
• In a typical university, every department wants to increase its
enrollment, and we become merely another player in a parochial
game of resources.
• The real concern is that we have a pipeline crisis in that we are
producing far too few graduates to fill the growing number of
positions that require computing skills. Judging by demand, we
were producing too few graduates even at the top of the boom.
• Failure to respond to the pipeline crisis will place significant
constraints on the computing industry and compromise national
competitiveness.
A Graphic Indication of the Shortage
Annual Degrees and Job Openings in Broad S&E Fields
160,000
140,000
PhD
Master's
120,000
Bachelor's
Projected Job Openings
100,000
80,000
60,000
40,000
20,000
Engineering
Physical Sciences
Mathematical/
Computer Sciences
Biological/
Agricultural Sciences
SOURCES: Tabulated by National Science Foundation/Division of Science Resources Statistics; degree data from Department of Education/National Center for Education Statistics: Integrated Postsecondary Education Data System Completions Survey; and NSF/S
Earned Doctorates; Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections
RS: Survey of
Graphic created by Greg Lavender at the University of Texas.
BS Degrees in Computer Science
40000
Men
35000
Women
30000
% Women
25000
20000
15000
10000
5000
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
0
SOURCES: Susan T. Hill, Science and Engineering Degrees: 1966-96. Report number NSF 99-330.
National Center for Education Statistics, Digest of Education Statistics, March 2002.
The last five years represent an interpolation based on the CRA Taulbee data.
The Conventional Wisdom
• Just as pretty much everyone now recognizes the existence of
an enrollment crisis, most everyone has a favorite totalizing
explanation. The leading theories include:
– Fears about job security after the dot-com bust and offshoring
– Negative images of those who work and study in the field
– A “broken” curriculum that does not appeal to today’s students
• While there is truth behind each of these theories, none of
them can serve as a comprehensive explanation of the student
behavior we see today. Even when taken together, these
theories overlook several important factors that are at least as
important as underlying causes for enrollment decline.
• The factors that lead to declining enrollments are complex and
highly interconnected. Solving the problems depends on
developing a better understanding of those factors and how
they interact.
Outline
• I will start by examining the three most prevalent theories:
1. It’s the economy.
2. It’s our image.
3. It’s the curriculum.
• I will then consider three additional possibilities:
1. Computing is presented so poorly in schools that students lose
all interest in the discipline before reaching university.
2. The attempt to unify the various subdisciplines of computing
have led to a backlash against programming that makes it harder
to produce students with solid software-development skills.
3. Increasingly, the reality of work in the field (even more than the
image) has become unattractive, particularly in comparison to
other opportunities bright students might pursue.
• I will conclude by offering some ideas about how we might
address these problems.
Myths of a Jobs Crisis Persist
There is no shortage of evidence that people believe the myths
about the lack of jobs and the danger of outsourcing.
December 1, 2005
Blue Skies Ahead for IT Jobs
BY MARIA KLAWE
Contrary to popular belief, career
opportunities in computer science
are at an all-time high. We’ve got to
spread that message among students
from a rainbow of backgrounds, or
risk becoming a technological
backwater.
All this talk about “Blue Skies” ahead just
can’t hide the stark fact that Americans
who don’t wish to migrate to India and/or
some other off-shore haven are going to
have a difficult career.
Why would any smart American undergrad
go into IT when companies like IBM and
HP are talking of stepping up their offshoring efforts in the coming years? They
want cheap labor, no matter the real cost.
I have been very successful in IT, but I
certainly wouldn’t recommend it today to
anyone except people who are geeks. . . .
Maria Klawe
Harvey
Mudd
College
I thinkPresident,
the latest
figures
from
the U.S.
(at the
at Princeton)
Department
oftime,
LaborDean
are not
correct.
But Data Show Job Prospects are Excellent
• Although there was a slight dip in IT-sector employment after
2000, recent data show that this decline ended quickly and that
there are now more computing jobs than at any time in history.
• Projections from the Bureau of Labor Statistics indicate strong
growth over the next decade:
Projected Employment 2004-2014 (in thousands)
2004
Computer and information systems managers
Computer specialists
Computer hardware engineers
Total, all professional-level IT occupations
Total, all occupations
2014
% change
280
353
+26.1%
3,046
4,003
+31.4%
77
84
+10.1%
3,403
4,440
+30.5%
145,612
164,540
+13.0%
Source: Bureau of Labor Statistics. Monthly Labor Review, November 2005
• Money magazine identified “software engineer” as the #1 job,
anticipating employment growth of 46% over the next decade.
A Thought Experiment about Offshoring
• Suppose that you are Microsoft and that you can hire a
software developer from Stanford whose loaded costs will be
$200,000 per year. Over in Bangalore, however, you can hire a
software developer for $75,000 per year. Both are equally
talented and will create $1,000,000 annually in value. What do
you do?
• Although the developer in Bangalore has a higher return, the
optimal strategy is to hire them both. After all, why throw away
$800,000 a year?
• Any elementary economics textbook will explain that one hires
as long as the marginal value of the new employee is greater
than the marginal cost. The essential point is that companies
seek to maximize return, and not simply to minimize cost.
Unravelling the Paradox
• The enormous gulf between perception and reality about the
strength of the job market in computing is surprising.
• Myths tend to persist for a long time only when it is in the
interest of powerful constituencies to maintain the mythology.
In this case, every easily identifiable constituency would like to
dispel the misconception:
–
–
–
–
Companies want to hire more workers in the area.
Governments want to enhance economic competitiveness.
University computing departments want to attract more students.
Students themselves would presumably like to find greater job security.
• After thinking about this issue for some time, I believe that the
final assumption may be incorrect:
–
–
–
–
Talking about job security does not seem to boost the number of majors.
Students are often most captivated by high-risk/high-return employment.
The prospect of wealth is often a more potent motivator than stability.
Enrollments track the NASDAQ, not the Bureau of Labor Statistics.
The Single Best Enrollment Predictor
A statistical analysis undertaken by my colleague, Mehran Sahami, found that
88% of the 1993-2003 enrollment variance at Stanford can be explained by the
NASDAQ average of the preceding year.
The Image Problem
• There is no question that both computing work (and computing
students and workers) have a negative image. The prototypical
image of the pocket-protector-wearing, socially inept “geek” is
deeply ingrained in our culture.
• The problem with positing “image” as the reason for the current
decline is that it fails to explain the high enrollments of the
boom years. The cultural images at these two different times
were largely the same, leading one to conclude that
– Rich geeks are cool.
– Well-paid geeks with high job security are boring.
• Studies of current student interests supports this theory:
– Economics and business majors are generally on the rise.
– Hedge-fund management and investment banking are top career choices.
– The resurgence of the NASDAQ has caused enrollments to rebound.
Google Buys YouTube for $1.65 Billion
Dot-Com Boom Echoed in Deal to Buy YouTube
By ANDREW ROSS SORKIN
Published: October 10, 2006
A profitless Web site started by three 20-somethings after a late-night dinner party is sold for more than a
billion dollars, instantly turning dozens of its employees into paper millionaires. It sounds like a tale
from the late 1990’s dot-com bubble, but it happened yesterday.
Google, the online search behemoth, agreed yesterday to pay $1.65 billion in stock for the Web site that
came out of that party—YouTube, the video-sharing phenomenon that is the darling of an Internet
resurgence known as Web 2.0.
YouTube had been coveted by virtually every big media and technology company, as they seek to tap
into a generation of consumers who are viewing 100 million short videos on the site every day. Google is
expected to try to make money from YouTube by integrating the site with its search technology and
search-based advertising program..
But the purchase price has also invited comparisons to the mind-boggling valuations that were once
given to dozens of Silicon Valley companies a decade ago. Like YouTube, those companies were once
the Next Big Thing, but some soon folded.
The Curriculum Has a Second-Order Effect
• The computing curriculum as traditionally implemented has
clear deficiencies and could certainly bear improvement.
• As an explanation for declining enrollments, the “curriculum is
broken” theory has serious shortcomings:
1. It cannot explain why enrollments were high a decade ago, when
the curriculum looked pretty much the same.
2. It fails to account for the fact that all institutions saw similar loss
of enrollment even when their curricula were very different. Most
of the proposed curriculum improvements were in place
somewhere in 2000-01, but declines occurred across the board.
3. The recent resurgence of enrollment seems likewise independent
of curriculum.
4. Students decide to avoid computing long before they have any
idea what the university curriculum is.
The Problem Starts Early
The UCLA HERI study shows that students have already made
their decisions before they reach university.
Source: Higher Education Research Institute at UCLA, 2005
Computing Faces Huge Challenges in Schools
• People who have software development skills command high
salaries and tend not to teach in schools.
• In many schools, computing courses are seen as vocational
rather than academic.
• Students who are heading toward top universities are advised to
take courses other than computer science to bolster their
admissions chances.
• Because schools are evaluated on how well their students
perform in math and science, many schools are shifting
teachers away from computer science toward these disciplines.
• Computing skills in general—and programming in particular—
have become much harder to teach.
• Teachers have very few resources to keep abreast of changes in
the field.
CS is Losing Ground
• The Computer Science exam is the only Advanced Placement
exam that has shown declining student numbers in recent years.
CS Is Tiny Compared with Other Sciences
Complexity and Instability
• Complexity. The number of programming details that students
must master has grown much faster than the corresponding
number of high-level concepts.
The number and complexity of topics that entering students
must understand have increased substantially, just as the
problems we ask them to solve and the tools they must use
have become more sophisticated. An increasing number of
institutions are finding that a two-course sequence is no longer
sufficient to cover the fundamental concepts of programming.
— Computing Curricula 2001
• Instability. The rapid evolution of the field creates problems for
computing education that are qualitatively different from those
in most fields.
The March of Progress
If I had had to learn C++, I would have majored in music.
1536 pages
—Don
Knuth, October 11, 2006
911 pages
266 pages
274 pages
The Pace of Change
• The pace of change—particularly in terms of its effect on the
languages, libraries, and tools on which introductory computer
science education depends—has increased in recent years.
• Individual universities and colleges can’t keep up.
• In a survey by the Computer Science Teachers Association,
secondary school teachers cited the rapid pace of change as the
most significant barrier.
The Vilification of Programming
• Those who argue most strongly for the broken curriculum
theory often blame programming for the woes of the discipline,
decrying the widely held view among students that
computer science = programming
This view is indeed too narrow.
• Unfortunately, however, some have started to argue for the far
less defensible proposition that
programming  computer science
Adopting this position throws the baby out with the bathwater.
Dangerous Trends
We have met the enemy and he is us.
— Walt Kelly
• As an illustration of this trend, consider the following post that
appeared on SIGCSE-MEMBERS on August 14, 2006:
I have an idea for a panel that I’d like to organize for SIGCSE’07. I’m asking for
volunteers (or nominations of others) to serve on the panel. The panel I’d like to
organize would have a title something like:
“Alternative Models for a Programming-lite Computer Science Curriculum”
The theme of the panel would be to share ideas and thoughts on how we might
reduce (or eliminate) the emphasis on programming within a computer science
curriculum. The basic idea is to cause discussion centered on the knowledge and
skills students of tomorrow will need in the global economic workspace and the
implications for the CS curriculum. As more and more aspects of software
development of “offshored”, what kind of curriculum would allow a student to be
successful in the IT field?
Industry Is Not Amused
• Every technical person in the industry with whom I’ve spoken
is horrified by the prospect of reducing the emphasis on
programming in the undergraduate curriculum.
• At the ACM Education Council meeting in September, a panel
of technical people from companies like Microsoft, Google,
Amazon, and Boeing were united in their concern about the
scarcity of competent software developers. I have summarized
their position as “the computing curriculum is not nearly as
broken as it seems likely to become.”
• Employers in developed countries with high-tech sectors are
desperate for more people with programming talent. In his
keynote at ITiCSE 2007 in Dundee, Scottish entrepreneur Chris
van der Kuyl said that the lack of programming talent was the
greatest limiting factor in the industry. He called it coding.
Programming Remains Central
• As with many of the popular theories for declining enrollments,
the call to “reduce or eliminate” programming from computing
curricula arises from some undeniable assumptions:
– There are more jobs in IT that don’t require programming.
– Programming is not particularly popular with students today.
– Offshoring of programming jobs has increased.
• Unfortunately, this analysis ignores the following equally valid
propositions:
– There are more jobs in IT that do require programming.
– Programming has historically been what attracts students the most.
– Offshoring exists largely because of a shortfall of skilled employees.
Programming Has Become Much Harder
• A very real part of the problem, however, is that programming
has become significantly more difficult than it used to be, both
because we use it to solve more challenging problems and
because the tools we use have much more detail complexity.
• In her interviews with pioneers in the computing field, SIGCSE
Chair Barbara Boucher Owens found that every person with
whom she spoke got into the field because they were captivated
by programming. That is happening much less often.
• We need to find a way not to reduce or eliminate programming
from the computing curriculum, but instead to restore the sense
of “passion, beauty, joy, and awe” that Grady Booch spoke
about so eloquently in his keynote at SIGCSE last year.
What We Need To Do
• Recognize that the problems extend well beyond the university.
• Press government and industry to improve computing education
in schools.
• Increase public awareness of the range of opportunities.
• Forge alliances with industry to bolster the image of work in the
profession.
• Expand efforts to increase diversity.
• Develop tools and materials that can be used “off the shelf.”
• Improve distribution channels for best practices.
• Promote interdisciplinary curricular connections.
• Continue experimentation in curricular strategies.
• Encourage research into new software paradigms that can make
programming fun again.
Positive Initiatives
• The National Science Foundation sponsored four regional
conferences on Integrated Computing and Research (ICER) and
has funded several proposals under a new Computing Pathways
(C-PATH) initiative.
• Several ACM Education Board projects are proving helpful:
–
–
–
–
A brochure for high-school students
The CC2001 series of curriculum reports
The Computer Science Teachers Association
A community effort to develop Java tools (the ACM Java Task Force)
• There are many interesting ideas in the community that are
showing promise:
–
–
–
–
–
–
Mark Guzdial’s “media computation” course at Georgia Tech
Stuart Reges’s “back to basics” strategy at the University of Washington
Jeannette Wing’s “computational thinking” concepts
The Alice Project developed at Carnegie-Mellon
Various robot-based introductions
Pair-programming strategies at a variety of schools
Some Encouraging Signs
Matt Jacobsen, Senior, UC Berkeley
And
for those
programming
jobs,many
the
A common
misconception
is that
reason
it’s possible
to sitting
sit ininfront
people think
CS means
front of
of aa
computer
for day
extended
periods
time be
is
computer all
long. This
mayofoften
because
in programming,
CS we can learn
newis things,
the case for
but CS
a large
achieve goals, and be creative. Every day!
field.
There
are many
applications
It’s this
last point
that really
drives that
me,
require
CS skills
thatask
involve
or no
personally.
If you
any little
passionate
programming.
. . . can "___ all day long",
person how they
it’s because that’s their outlet for being
creative.
From Dan Garcia’s “Faces of CS” web site.
The End
Download