Top Banner
Eric Roberts Professor of Computer Science Stanford University University of Auckland 15 July 2009 Restoring the Passion, Beauty, Joy and Awe: Making Computing Fun Again
20

Eric Roberts Professor of Computer Science Stanford University

Feb 25, 2016

Download

Documents

arias arias

Restoring the Passion, Beauty, Joy and Awe: Making Computing Fun Again. Eric Roberts Professor of Computer Science Stanford University. University of Auckland 15 July 2009. Grady Booch at SIGCSE 2007 . That there is currently a crisis in computing education is not in doubt. —. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Eric Roberts Professor of Computer Science Stanford University

Eric RobertsProfessor of Computer Science

Stanford University

University of Auckland15 July 2009

Restoring thePassion, Beauty, Joy and Awe:

Making Computing Fun Again

Page 2: Eric Roberts Professor of Computer Science Stanford University

Grady Booch at SIGCSE 2007

Page 3: Eric Roberts Professor of Computer Science Stanford University

The View from 2008 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 enrolments 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.

Page 4: Eric Roberts Professor of Computer Science Stanford University

What a Difference a Year Makes 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 enrolments 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.

• In Silicon Valley and at Stanford, the answers are clear:– Demand for talented software developers is as high as ever.– CS enrolments are skyrocketing, nearly erasing any previous loss.

Are enrolments still falling?

Is this still true after the meltdown?

Page 5: Eric Roberts Professor of Computer Science Stanford University

Enrolment Trends at Stanford

0

200

400

600

800

1000

1200

1400

1600

180019

85-8

619

86-8

719

87-8

819

88-8

919

89-9

019

90-9

119

91-9

219

92-9

3

1995

-96

1996

-97

1997

-98

1998

-99

1999

-00

2000

-01

2001

-02

2002

-03

2003

-04

2004

-05

2005

-06

2006

-07

2007

-08

2008

-09

All CS intro courses

CS106A (our CS1)

1993

-94

1994

-95

Page 6: Eric Roberts Professor of Computer Science Stanford University

The Single Best Enrolment 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.

But the NASDAQ—along with other markets—declined steadily from 2007 through 2008. If enrollments have historically tracked the high-tech economy, why are enrollments rising?

2008

2006

2004

2002

2000

1998

1996

1994

1992

1990

1988

1986

1984

1000

2000

300040005000

300400500

Page 8: Eric Roberts Professor of Computer Science Stanford University

Industry Demand Remains High

262 402 53.41.767 1,156 50.62.787 1,171 48.73.507 733 44.64.

71 100 41.05.176 248 41.06.

2 3 39.87.465 148 35.48.

62 84 35.09.

Network systems and data communications analystsPersonal and home care aidesHome health aidesComputer software engineers, applicationsVeterinary technologists and techniciansPersonal financial advisorsMakeup artists, theatrical and performanceMedical assistantsVeterinariansSubstance abuse and behavioral disorder counselors 83 112 34.310.

Top 10 job growth categories (2006-2016) 2006 2016

Employment(thousands)

Growth

U.S. Department of Labor, Bureau of Labor Statistics, Employment Projections: 2006-16, December 2007.

Source:

Google and Facebook are fighting hard to hire this year’s crop of computer science graduates, we’ve heard, and ground zero is Stanford. Most of the class of 2008 already have job offers even though graduation is months away. Last year, salaries of up to $70,000 were common for the best students. This year, Facebook is said to be offering $92,000, and Google has increased some offers to $95,000 to get their share of graduates. Students with a Master’s degree in Computer Science are being offered as much as $130,000 for associate product manager jobs at Google.

• The computing industry offers some of the best employment opportunities for university graduates. The following data are from the United States, but the situation is similar elsewhere:– The number of jobs in the domestic software industry are at an all-time high and are

projected to grow dramatically over the next decade.– Salaries for newly minted B.S. graduates in Computer Science are high, sometimes

exceeding the $100,000 mark.– In 2005, Money magazine rated software engineer as the number one job in America.– Labour statistics show that the ratio of the number of available jobs per graduate is

higher in computing than any other employment category.

Page 9: Eric Roberts Professor of Computer Science Stanford University

Degree Production vs. Job Openings160,000

140,000

120,000

100,000

80,000

60,000

40,000

20,000

Engineering Physical Sciences Biological Sciences Computer Science

Ph.D.Master’sBachelor’sProjected job openings

Adapted from a presentation by John Sargent, Senior Policy Analyst, Department of Commerce, at the CRA Computing Research Summit, February 23, 2004. Original sources listed as 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/SRS; Survey of Earned Doctorates; and Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections. See http://www.cra.org/govaffairs/content.php?cid=22.

Sources:

Page 10: Eric Roberts Professor of Computer Science Stanford University

But We Still Have Work to Do

1. The kind of exposure students get to computing at the elementary and secondary level tends to push people away from the discipline long before they reach the university.

2. The image of work in the field—and, more importantly, all too much of the reality of work in the field—is unattractive to most students and no longer seems fun, particularly in comparison to other opportunities that bright students might pursue.

Page 11: Eric Roberts Professor of Computer Science Stanford University

The Real Image Problem

Dilbert“The Knack”

http://www.youtube.com/watch?v=CmYDgncMhXw

Page 12: Eric Roberts Professor of Computer Science Stanford University

The Reality Is Also a Problem

• Students at Stanford have expressed the following concerns:– Long hours with little chance for a balanced life– A less pleasant social milieu than other occupations– A sense that success in programming is possible only for those

who are much brighter than they see themselves to be– Work that is often repetitive and unchallenging, particularly

when it involves maintaining legacy technology– Work that has become more difficult than it used to be– No chance for a lasting impact because of rapid obsolescence– Fears that employment with an individual company is dicey even

though opportunities are good in the industry as a whole– Frustration at being managed by nontechnical people who make

more money but are not as bright (Dilbert’s boss)

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

Page 13: Eric Roberts Professor of Computer Science Stanford University

Dilbert vs. the Boss

Capital Labour

Interestingly, during the bubble of 2001 to 2007, students with strong technical skills opted for careers in management or finance, giving them a seemingly secure place on the capital side of the capital/labour divide.

Page 14: Eric Roberts Professor of Computer Science Stanford University

For Some, Programming Is the Enemy• Because students respond more negatively to programming

than they once did, some have argued for reducing its emphasis in the university curriculum.

• 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?

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

Page 15: Eric Roberts Professor of Computer Science Stanford University

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.

• 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.

• 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.

• At meetings of the ACM Education Council in recent years, industry representatives have been united in their concern about the scarcity of competent software developers.

• In a new graduate-level course taught at Stanford by Monica Lam and Martin Rinard, the course description begins like this: “The key to delivering a successful software project is to hire top notch programmers.”

Page 16: Eric Roberts Professor of Computer Science Stanford University

Programming Remains Central• Calls to “reduce or eliminate” programming from computing

curricula arise 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.– Globalization has created more IT jobs in India/China and the U.S.– Offshoring exists largely because of a shortfall of skilled employees.

Page 17: Eric Roberts Professor of Computer Science Stanford University

But It Has Gotten More Complex

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 18: Eric Roberts Professor of Computer Science Stanford University

Sobering Thoughts• There are more public methods in the java and javax

package hierarchies than there are words in Jensen and Wirth’s Pascal User Manual and Report. The amount of explanation once deemed sufficient to teach the standard introductory programming language is thus no longer sufficient for an index of the operations available today.

• Typical software today exists at a level of scale and complexity that would have been unthinkable a generation ago. The most common operating system used in mobile phones, for example, contains approximately 100 million lines of code.

• Given the scale of modern software systems, it is typically impossible for students to develop projects as extensions to existing code frameworks. An academic term is now barely sufficient to understand what is already there, leaving no time for further development?

Page 19: Eric Roberts Professor of Computer Science Stanford University

We Need to Make Things Simpler • In the future, producing enough computing graduates to meet the

demand will occur only if it is possible to hide much of the complexity from students as they learn the basic concepts.

• Many strategies already exist along these lines:– Microworlds (Karel the Robot, Alice, Scratch)– Teaching libraries (the ACM Java libraries)– Using high-level APIs in place of low-level implementations– Using languages with easier learning curves (Scheme, Python)

• Using these strategies can delay acquisition of specific language skills in C++ and Java that many employers expect.

• Universities would be an ideal setting to explore strategies for simplifying software development, but there is little funding available in this area.

Page 20: Eric Roberts Professor of Computer Science Stanford University

The End