making computer science fun again

31
Making Computer Science Fun Again Eric Roberts Professor of Computer Science, Stanford University Past Chair of the ACM Education Board Informatics Education Europe II Thessaloniki, Greece November 29, 2007 —Don Knuth, October 11, 2006 Has anyone considered the possibility that it’s just not fun anymore?

Upload: kale

Post on 19-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Making Computer Science Fun Again

Making Computer Science Fun Again

Eric RobertsProfessor of Computer Science, Stanford University

Past Chair of the ACM Education Board

Informatics Education Europe IIThessaloniki, GreeceNovember 29, 2007

—Don Knuth, October 11, 2006Has anyone considered the possibility that it’s just not fun anymore?

Page 2: Making Computer Science Fun Again

The Crisis in Computing EducationThat 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.

Page 3: Making Computer Science Fun Again

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.

Page 4: Making Computer Science Fun Again

A Graphic Indication of the Shortage

Graphic created by Greg Lavender at the University of Texas.

Page 5: Making Computer Science Fun Again

BS Degrees in Computer Science

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.

0

5000

10000

15000

20000

25000

30000

35000

40000 Men

Women

% Women

The last five years represent an interpolation based on the CRA Taulbee data.

Page 6: Making Computer Science Fun Again

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.

Page 7: Making Computer Science Fun Again

Outline• I will start by examining the three most prevalent theories:

• I will then consider three additional possibilities:

It’s the economy.1.It’s our image.2.It’s the curriculum.3.

Computing is presented so poorly in schools that students lose all interest in the discipline before reaching university.

1.

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.

2.

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.

3.

• I will conclude by offering some ideas about how we might address these problems.

Page 8: Making Computer Science Fun Again

There is no shortage of evidence that people believe the myths about the lack of jobs and the danger of outsourcing.

Myths of a Jobs Crisis Persist

Maria KlawePresident, Harvey Mudd College(at the time, Dean at Princeton)

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.

Blue Skies Ahead for IT JobsBY MARIA KLAWE

December 1, 2005All 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 off-shoring 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. . . .

I think the latest figures from the U.S. Department of Labor are not correct.

Page 9: Making Computer Science Fun Again

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:

Computer and information systems managers Computer specialists

Computer hardware engineers

Total, all professional-level IT occupations Total, all occupations

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%

2004 2014 % changeProjected Employment 2004-2014 (in thousands)

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.

Page 10: Making Computer Science Fun Again

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.

Page 11: Making Computer Science Fun Again

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.

Page 12: Making Computer Science Fun Again

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.

Page 13: Making Computer Science Fun Again

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.

Page 14: Making Computer Science Fun Again

Google Buys YouTube for $1.65 Billion

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.

Dot-Com Boom Echoed in Deal to Buy YouTube By ANDREW ROSS SORKINPublished: October 10, 2006

Page 15: Making Computer Science Fun Again

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:It cannot explain why enrollments were high a decade ago, when the curriculum looked pretty much the same.

1.

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.

2.

The recent resurgence of enrollment seems likewise independent of curriculum.

3.

Students decide to avoid computing long before they have any idea what the university curriculum is.

4.

Page 16: Making Computer Science Fun Again

The Problem Starts Early

Source: Higher Education Research Institute at UCLA, 2005

The UCLA HERI study shows that students have already made their decisions before they reach university.

Page 17: Making Computer Science Fun Again

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.

Page 18: Making Computer Science Fun Again

CS is Losing Ground• The Computer Science exam is the only Advanced Placement

exam that has shown declining student numbers in recent years.

Page 19: Making Computer Science Fun Again

CS Is Tiny Compared with Other Sciences

Page 20: Making Computer Science Fun Again

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.

• Instability. The rapid evolution of the field creates problems for computing education that are qualitatively different from those in most fields.

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—

Page 21: Making Computer Science Fun Again

The March of Progress

266 pages 274 pages911 pages

1536 pages—Don Knuth, October 11, 2006

If I had had to learn C++, I would have majored in music.

Page 22: Making Computer Science Fun Again

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.

Page 23: Making Computer Science Fun Again

The Vilification of Programming

computer science = 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

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.

Page 24: Making Computer Science Fun Again

Dangerous Trends

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?

Walt Kelly—We have met the enemy and he is us.

• As an illustration of this trend, consider the following post that appeared on SIGCSE-MEMBERS on August 14, 2006:

Page 25: Making Computer Science Fun Again

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.

Page 26: Making Computer Science Fun Again

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.

Page 27: Making Computer Science Fun Again

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.

Page 28: Making Computer Science Fun Again

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.

Page 29: Making Computer Science 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

Page 30: Making Computer Science Fun Again

Some Encouraging Signs

A common misconception is that many people think CS means sitting in front of a computer all day long. This may often be the case for programming, but CS is a large field. There are many applications that require CS skills that involve little or no programming. . . .

Matt Jacobsen, Senior, UC BerkeleyAnd for those programming jobs, the reason it’s possible to sit in front of a computer for extended periods of time is because in CS we can learn new things, achieve goals, and be creative. Every day! It’s this last point that really drives me, personally. If you ask any passionate person how they can "___ all day long", it’s because that’s their outlet for being creative.

From Dan Garcia’s “Faces of CS” web site.

Page 31: Making Computer Science Fun Again

The End