Sign In

Communications of the ACM


What Must All Post-Secondary Students Learn about Computing?

circuit design on tabletop, persons' arms visible


There are two key elements in computer science (CS) education today that should be of interest to everyone in the field, especially given that the future of the technology sector rests with the CS students of today:

  • It is vitally important that we continue to broaden who becomes a computer scientist and make the CS educational experience better than it often is for students who hold identities that are historically marginalized in computing.
  • All students live in this technological world and must be equipped to question and push back against the biases inherent in the tech industry, both as a work place and in terms of the impact of tech products. Therefore all students, not only CS majors, must have foundational CS knowledge. This includes addressing computing's history of exploitation and refusal to take responsibility for negative social implications, empowering students to evaluate both the uses and misuses of technology.

Many in the CS community, particularly in the U.S., are focused on ways to broaden participation (for example, by gender, race, and ability) in the academic study of CS, with a hoped for derivative impact of diversifying the field both in academia and industry. There are two motivations for this work: many people are currently closed out of lucrative career opportunities; and a more diverse workforce representative of a range of backgrounds and perspectives may encourage problem solutions and product development that better address the needs of a diverse population, with fewer products that have harmful or downright oppressive outcomes. Even though CS enrollments have been increasing since the late 2000s, enrollments and declared CS majors still do not mirror the demographics of the larger population. One successful intervention is the use of contextualized computing to encourage a broader swath of students to try out computing. Starting with Media Computation at Georgia Tech, continuing with multiple themed introductory courses at institutions such as Union College, and today with the CS+X combined majors at Northeastern University, data clearly show that at least the gender composition of CS majors improves when a more interdisciplinary approach is used. It remains crucial that we continue to assess the impact on computing demographics of such broadening participation initiatives. We also must determine the extent to which changes are needed within CS as a field, within individual CS departments, and within education overall (for example, using U.S. Census and IPEDS data, Black people are 13.4% of the U.S. population but earned only 9% of college degrees in 2020, a much more serious representational gap than the 55% of college degrees earned by White non-Hispanic people who make up 60% of the population).

Of course, getting students to take a class in CS, or even a few classes, is not enough. We must understand and address the negative experiences that many students have as they try to make their way in this field. There are initiatives addressing this by focusing on recruitment and retention, such as the Alliance for Identity-Inclusive Computing Education, led by Alicia Nicki Washington and Shaundra Daly at Duke University,a and the Center for Inclusive Computing (CiC) at Northeastern University,b led by Carla Brodley. The first, a large NSF INCLUDES initiative, works across the K-16 educational landscape to create equitable and inclusive environments for both CS students and CS educators, combining professional development activities, development of new materials that bring identity inclusive content into computing classrooms, policy changes in the K-16 arena, and degree and retention data analyses. The CiC effort supports CS department efforts to remove institutional barriers in curriculum, pedagogy, and student support. Another great resource is Shuchi Grover's compendium of resources on equitable and anti-racist CS education, published in Blog@CACM on January 17, 2022. This is crucial work, but CS post-secondary educators must rethink our focus on CS majors and (re)consider what all students are taught about computing. Building a more diverse well-paid tech workforce is a laudable goal. We are not well served, however, if that workforce still makes questionable decisions about what tech is made, how it is made, and how it is used. Our goal should be to build a workforce that, during design and development, always considers potential misuses and differential benefits of technology.

Tech today continues behavior that has apparently gone unquestioned since the earliest years of the field.

In the past, colleges and universities did not typically make it a priority to have CS faculty teach all students. They resisted giving CS departments sufficient resources to make this possible and did not require CS for all students. Now we in CS must, if not teach every student, at least help build curricula that can be used to teach every student, especially since everyone is impacted by computing technology and almost every field uses computing in some way. We must ask the questions: What is it that all students must know about computing, why do they need to know about computing, and how do we teach them the relevant material? We need to consider the problematic role technology is playing in many parts of our lives—economically, politically, and socially. Safiya Noble, Joy Buolamwini, Ruha Benjamin, Cathy O'Neil and others have exposed the differential impact of technologies and algorithms on people of color, the rapid rate at which systems based on crowdsourcing will develop biased behavior, the reflection of and replication of rigid gender roles in technology. CryptoHarlem, a non-profit antisurveillance and cyber-security education group, looks closely at the ways in which technology impacts African American communities in the U.S. Given the roots and history of computer science, we should not be surprised by the problematic outcomes, and today's students must understand the roots of these outcomes in computing's history.

Tech today continues behavior that has apparently gone unquestioned since the earliest years of the field. Reich, Sahami, and Weinstein's book and course are designed to equip students to help erect and enforce "guardrails" against negative technology outcomes. They focus heavily on ethics and technology, the responsibility of technologists to do good. There is absolutely nothing wrong with that. But it is not enough to say that developers did not pay attention, that they just happened to not think about some future impact while they were building a new tool. Reich et al. point out the profit driver and the "engineering mind-set" which, together, encourage optimization without consideration of impact on non-economic measures or other values. Those impulses come, however, as a result of a number of practices in the early years of the computing industry that were never questioned, that were allowed to continue, and helped create today's tech and computing environment.

We make a more compelling argument to be watchful about technology's impact when we provide the backstory of a field that has spent decades not considering the treatment of people who build technology, not considering the possible downstream impacts of technology. These omissions are built into the business practices of the tech industry, making big tech an increasingly dystopian and anti-democratic social force. Not only is it hard to quantitatively measure harm and exploitation, but it seems early developers were unconcerned that harm and exploitation were occurring. Let's consider a small sampling of the early history of computing in order to understand the long-standing negative practices (while these examples are U.S. based, there are similar stories from elsewhere).

We start with William Shockley, one of the developers of the transistor. We owe today's computing technology to Shockley and his collaborators, including that Shockley launched the first company to build semiconductors. But we must also examine and be ashamed by the fact that he was an avowed eugenicist, and, in fact, is still revered by white supremacists today. This was not a passing fancy on Shockley's part, but views he advocated over the course of decades. Next we consider the founding of Fairchild Semiconductor, started by people who left Shockley Semiconductor, among them Eugene Kleiner, Gordon Moore, and Robert Noyce. Fairchild was the company that led to Intel (Moore and Noyce) and to the first significant tech venture capital firm, Kleiner Perkins. Kleiner Perkins then helped launch Amazon, Google, Intuit, and other companies.

Minimally, both CS and non-CS faculty should have available a menu of three types of curricular components along with guidance about how to incorporate these components into courses.

Fairchild is an early example where exploitation and profit drivers intersect. Fairchild built a semiconductor plant in the Navajo Nation to manufacture integrated circuits for the Apollo rockets. Fairchild's salary practices were so exploitative of the Navajo (mostly women) who worked there that eventually the plant was taken over by activists from the American Indian Movement. The chips made by Fairchild were then sent to Raytheon for the Apollo Guidance Computer. Because there was little onboard memory, the actual programs for these circuits had to be woven into core memory, based on the exploited labor of women at Raytheon.

There are many additional examples, such as the use of IBM equipment to facilitate the Holocaust and enforce apartheid pass laws in South Africa. The tech industry will be called to account and required to change only when people outside of computing understand these origins of the field and place today's practices in historical context. To that end, all students must be made aware of both the history and present reality of computing.

Minimally, both CS and non-CS faculty should have available a menu of three types of curricular components along with guidance about how to incorporate these components into courses. First, students should see positive uses of computing, particularly those that are beneficial for people's lives across various populations (not just applications that monetize users or improve productivity). Second, students should also see negative impacts, again representing a range of problematic applications (such as explored in the work of those mentioned here). Finally, elements of the problematic history of the field must be included. In addition to the brief history outlined here, there are additional options including, for example, work by Mar Hicks and Lynn Conway who address the erasure of women and trans people from the history of computing. A combination of these curricular components would ensure students gain critical exposure to complexities of computing technology, balancing the positives, the negatives, and the problematic history in order to create an accurate picture of the field. Such a view of computing could accomplish two things. First, it could be more engaging for students who currently feel that computing is not for them because it offers nothing positive for their lives and hides the negatives. Second, it would better prepare students to question and resist decisions made by the tech industry. I offered here a preliminary sketch of the important curricular elements that will engage students across disciplines. The CS discipline needs to go further to flesh out a plan for computing education that helps all of today's students properly understand computing's potential benefits and dangers.

Back to Top


Valerie Barr ( is the Margaret Hamilton Distinguished Professor of Computer Science in the Division of Science, Mathematics, and Computing at Bard College, Annandale-on-Hudson, NY, USA.

Back to Top


a. See

b. See

Copyright held by author.
Request permission to (re)publish from the owner/author

The Digital Library is published by the Association for Computing Machinery. Copyright © 2022 ACM, Inc.


No entries found