1 / 20

Eric Roberts Professor of Computer Science Stanford University

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

Télécharger la présentation

Eric Roberts Professor of Computer Science Stanford University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Grady Booch at SIGCSE 2007

  3. That there is currently a crisis in computing education is not in doubt. — McGettrick et al., SIGCSE 2007 The View from 2008 • 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.

  4. That there is currently a crisis in computing education is not in doubt. — McGettrick et al., SIGCSE 2007 What a Difference a Year Makes • 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?

  5. All CS intro courses CS106A (our CS1) Enrolment Trends at Stanford 1800 1600 1400 1200 1000 800 600 400 200 0 1994-95 2008-09 1985-86 1986-87 1987-88 1988-89 1989-90 1990-91 1991-92 1992-93 1993-94 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

  6. 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? The Single Best Enrolment Predictor 5000 4000 3000 2000 1000 500 400 300 2008 1984 1986 1988 1990 1992 1994 1996 1998 2004 2000 2002 2006 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.

  7. There are Fewer Places to Go

  8. Employment (thousands) Top 10 job growth categories (2006-2016) 2006 2016 Growth 1. Network systems and data communications analysts 262 402 53.4 2. Personal and home care aides 767 1,156 50.6 3. Home health aides 787 1,171 48.7 4. Computer software engineers, applications 507 733 44.6 5. Veterinary technologists and technicians 71 100 41.0 6. Personal financial advisors 176 248 41.0 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. 7. Makeup artists, theatrical and performance 2 3 39.8 8. Medical assistants 465 148 35.4 62 84 35.0 9. Veterinarians 10. Substance abuse and behavioral disorder counselors 83 112 34.3 Source: U.S. Department of Labor, Bureau of Labor Statistics, Employment Projections: 2006-16, December 2007. Industry Demand Remains High • 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.

  9. Computer Science Degree Production vs. Job Openings 160,000 Ph.D. 140,000 Master’s 120,000 Bachelor’s 100,000 Projected job openings 80,000 60,000 40,000 20,000 Engineering Physical Sciences Biological Sciences Sources: 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.

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

  11. Dilbert “The Knack” The Real Image Problem http://www.youtube.com/watch?v=CmYDgncMhXw

  12. The Reality Is Also a Problem Has anyone considered the possibility that it’s just not fun anymore? —Don Knuth, October 11, 2006 • 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)

  13. Capital Labour Dilbert vs. the Boss 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.

  14. We have met the enemy and he is us. — Walt Kelly 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? 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:

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

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

  17. If I had had to learn C++, I would have majored in music. 1536 pages —Don Knuth, October 11, 2006 911 pages 274 pages 266 pages But It Has Gotten More Complex

  18. 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?

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

  20. The End

More Related