310 likes | 406 Views
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
E N D
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
That there is currently a crisis in computing education is not in doubt. — McGettrick et al., SIGCSE 2007 The Crisis in Computing Education • 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 Graphic created by Greg Lavender at the University of Texas.
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. 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.
1. 2. 3. It’s the economy. It’s our image. It’s the curriculum. 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. Outline • I will start by examining the three most prevalent theories: • I will then consider three additional possibilities: • I will conclude by offering some ideas about how we might address these problems.
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. 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. Maria Klawe President, Harvey Mudd College (at the time, Dean at Princeton) 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. 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.
Projected Employment 2004-2014 (in thousands) 2004 2014 % change Computer and information systems managers 280 353 +26.1% Computer specialists 3,046 4,003 +31.4% Computer hardware engineers 77 84 +10.1% Total, all professional-level IT occupations 3,403 4,440 +30.5% Total, all occupations 145,612 164,540 +13.0% Source: Bureau of Labor Statistics. Monthly Labor Review, November 2005 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: • 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.
1. 2. 3. 4. It cannot explain why enrollments were high a decade ago, when the curriculum looked pretty much the same. 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. The recent resurgence of enrollment seems likewise independent of curriculum. Students decide to avoid computing long before they have any idea what the university curriculum is. 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:
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 • 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. • People who have software development skills command high salaries and tend not to teach in schools.
CS is Losing Ground • The Computer Science exam is the only Advanced Placement exam that has shown declining student numbers in recent years.
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.
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 The March of Progress
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.
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. 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.
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
And 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. Some Encouraging Signs Matt Jacobsen, Senior, UC Berkeley 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. . . . From Dan Garcia’s “Faces of CS” web site.