I want to return to a theme I have explored before: diversity in our discipline. To do this, I have enlisted the help of my colleague at Google, Maggie Johnson. We are both concerned the computer science community is still not benefiting from the diversity it could and should have. College students are more interested than ever in studying computer science (CS). There has been an unprecedented increase in enrollment in CS undergraduate programs over the past four years. Harvard University's introductory CS course—CS50—has recently claimed the spot as the most enrolled course on campus.a An astounding 50% of Harvey Mudd's graduates received engineering degrees this year.b The Taulbee Study is an annual survey of U.S. Ph.D.-granting institutions conducted by the Computing Research Association. Table 1 from the 2014 Taulbee reportc shows the increases CS departments are experiencing.
While the overall number of students in CS courses continues to increase, the number of women and underrepresented minority students who go on to complete undergraduate degrees is, on average, not growing at all. As noted in Table 2, recent findings show that while these students may begin a CS degree program, retaining them after their first year remains a serious issue.d
Why is this important? The high-tech industry is putting enormous effort into diversifying its work force.e First, there is a social justice aspect given the industry demand and the high salaries associated with that demand. Second, high-tech companies recognize if they are going to create truly accessible and broadly useful products and services, a diverse workforce will best create them. Third, with the advent of an increasing amount of software in virtually every appliance ranging from cars to clocks to say nothing of smartphones, we are going to need every bit of system design and programming talent we can find to avoid collapse into a morass of incompatible, uncooperative, and generally recalcitrant devices in our homes, offices, cars, and on or in our persons. Whether we like it or not, programmable devices are much more malleable than electromechanical ones, potentially less expensive to make, and, possibly, easier to update. The Internet of Things is upon us and we need all hands on deck to assure utility, reliability, safety, security, and privacy in an increasingly online world.
What can faculty do in their own departments? There are several simple interventions that can increase student retention in CS programs. Here are some examples:
Faculty can make a huge difference in retaining our diversity students. As leaders in the CS field, your actions and words have a profound impact. When we lose the interest of a significant part of our diverse society, we suffer irretrievably. We cannot even calculate the opportunities we may have lost for the CS discipline. The next potential scientific breakthrough or blockbuster business might have come from someone whose interest we failed to keep. Please join us in highlighting this important opportunity and sharing these and your own solutions with your faculty.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2016 ACM, Inc.
I worked in the hi-tech industry for over 45 years before my recent retirement. During that time I recruited and hired women, worked for quite a few women and had women working for me. I witnessed how many women rose to very high positions in the companies I worked for and how many of them had degrees in computer science. Where I worked, a CS degree was one of the best ways for a woman to break through the "glass ceiling". Yet recruiting of women became more and more of a challenge after the mid-1980's when enrollments in CS and related disciplines became much more dominated by males.
Throughout that time I also taught at the university level, mostly as an adjunct professor, and saw how female enrollments were high in the 1970's and 1980's but fell back after that. I blame the cutback on the personal computer and, in particular, the emphasis on programming and gaming that began with that era and persists today. The computing field is still portrayed today with an emphasis on programming. Particularly in the late 1980's and thereafter, the image of the computer science student was of someone who spent their time sitting in front of a terminal or PC and programming all day. As the PC replaced the mainframe and minicomputer, there was increased emphasis on games and then, with smart phones, an emphasis on apps. This may be what a few people do but it is decidedly not what most computing professionals spend most of their time doing, especially as they progress into the more responsible phases of their careers.
I recall being on a recruiting visit at a major university back in the early 2000's and meeting a group of sophomore women in the ACM-W group. Several were thinking of dropping out of CS because they saw themselves as competent but not outstanding programmers, were often intimidated by the programming "whizzes", and didn't want to spend their lives in front of computers. I asked them what they did outside of their classroom work and heard tales of leadership and accomplishment such as organizing sorority events or doing volunteer work or heading team projects in their CS courses. I recall thinking that these are the people I want to hire, not the coding whizzes who couldn't organize anything. The reason is simple: I was recruiting people for careers, not programming jobs. As one advances in responsibility, one's teaming and organizational and management skills start to become very important. Yes, you have to understand programming and software and computer organization and such, but you don't need to do a lot of programming when you are manager of the software project or vice president of the engineering department or manager of a major operating division. And you don't get promoted to those positions because you are the winner of a programming contest or the fastest programmer.
It seems to me that we need to explain what CS majors do in a different way than we have in the past. Programming, I have to say, is an important skill but, for most people, it's an entry level skill. Just as an architect needs to know how to frame a house but doesn't get promoted to a responsible architecture job based on his or her framing skills, so a computer science professional doesn't get promoted to a highly responsible professional position because he or she is the best programmer.
Dennis, thanks for a very insightful observation. I particularly like your emphasis on the notion of career. Many of us who consider ourselves part of this industry no longer make our livings hacking code. Design, architecture, policy, project management, requirements el al occupy much of our time.
The following letter was published in the Letters to the Editor of the June 2016 CACM (http://cacm.acm.org/magazines/2016/6/202652).
Vinton G. Cerf's Cerf's Up column "Enrollments Explode! But diversity students are leaving ..." (Apr. 2016) on diversity in computer science education and Lawrence M. Fisher's news story on President Barack Obama's "Computer Science for All" initiative made us think Communications readers might be interested in our experience at Princeton University over the past decade dramatically increasing both CS enrollments in general and the percentage of women in CS courses. As of the 20152016 academic year, our introductory CS class was the highest-enrolled class at Princeton and included over 40% women, with the number and percentage of women CS majors approaching similar levels.
Our approach is to teach a CS course for everyone, focusing outwardly on applications in other disciplines, from biology and physics to art and music.(1) We begin with a substantive programming component, with each concept introduced in the context of an engaging application, ranging from simulating the vibration of a guitar string to generate sound to implementing Markov language models to computing DNA sequence alignments. This foundation allows us to consider the great intellectual contributions of Turing, Shannon, von Neumann, and others in a scientific context. We have also had success embracing technology, moving to active learning with online lectures.(2) We feel CS is something every college student can and must learn, no matter what their intended major, and there is much more to it than programming alone. Weaving CS into the fabric of modern life and a broad educational experience in this way is valuable to all students, particularly women and underrepresented minorities. Other institutions adopting a similar approach have had similar success.
Meanwhile, we have finally (after 25 years of development) completed our CS textbook Computer Science, An Interdisciplinary Approach (Addison-Wesley, 2016), which we feel can stand alongside standard textbooks in biology, physics, economics, and other disciplines. It will be available along with studio-produced lectures and associated Web content (http://introcs.cs.princeton.edu) that attract more than one million visitors per year.
Over the next few years, we will seek opportunities to disseminate these materials to as many teachers and learners as possible. Other institutions will be challenged to match our numbers, particularly percentage of women engaged in CS. It is an exciting time.
Robert Sedgewick and Kevin Wayne
(1) Hulette, D. 'Computer Science for All' (Really). Princeton University, Princeton, NJ, Mar. 1, 2016; https://www.cs.princeton.edu/news/'computer-science-all'-really
(2) Sedgewick, R. A 21st Century Model for Disseminating Knowledge. Princeton University, Princeton, NJ; http://www.cs.princeton.edu/~rs/talks/Model.pdf
Displaying all 3 comments