I didn’t take computer science in high school. Neither did any of my friends who are women.
I was fortunate enough to go to a school district that offered Advanced Placement Computer Science (AP CS). I’m also young enough to remember that I chose to take psychology instead. That decision doesn’t make any sense. I was in a host of other advanced classes, and I loved math, physics, and chemistry. But, I wasn’t into video games, and I don’t fit the commonly held stereotype of what a “computer nerd” looks like.
On a whim, I ended up trying computer science in college. I loved it, but I can’t help but wonder what would have happened if I’d studied it in high school. But to be honest, no one even suggested it to me.
Lately, I’ve been reading the book Stuck in the Shallow End: Race, Education, and Computing. It’s made me think a lot about who gets to study and do computer science, and who never really gets the opportunity. It’s a phenomenal book that has prompted me to ask some big questions about the education system.
In this post, I’ll provide an overview of AP CS class at the high school level and share some reasons why the questions I’m asking are relevant today.
I’ll also present some gender and race data about who takes the AP CS exam. In my opinion, the race and gender gap in this high school course is related to the race and gender gap in the computer science industry. Finally, I’ll suggest four types of people who might be able to help this problem.
Introduction: What is AP CS?
Advanced Placement CS is a course offered in some high schools, and it includes an AP test at the end of the course. Some universities recognize high marks on this test with college credit.
Many people have their first experience with computer science via this course. Thinking critically about the course is important because the program affects future computer scientists.
The Two Forms of AP CS
AP Computer Science A, introduced in 1984, focuses on programming and problem-solving. The goal of the class, as described by the AP organization, is to “understand core aspects of computer science which [students] can use to create solutions that are understandable, adaptable, and when appropriate, reusable.” The evaluation for this course consists of one exam at the end of the year, made up of multiple-choice and free-response questions.
AP Computer Science Principles, introduced in 2016, is about “introducing [students] to the foundations of computer science with a focus on how computing powers the world. Along with the fundamentals of computing, [students] will learn to analyze data, create technology that has a practical impact, and gain a broader understanding of how computer science impacts people and society.” This course broadens the offering of AP CS in high school to attract students who may not feel ready to commit to a year-long programming-based course.
The two classes are not mutually exclusive, and students can take either or both.
Why Does AP CS Matter?
Taking AP CS in high school can impact a student’s future in several ways:
- In 2013, over half of Google’s engineering staff reported having formal computer science education in high school.
- Taking AP CS makes a college student six times more likely to major in CS in college. CS majors earn 1.56 times more than the average of other majors.
- Computer science is an interesting, growing, and lucrative business domain.
Who Gets to Take AP Computer Science?
The following graphs show who took the AP computer science exam in past years. All data comes from the College Board organization and is retrieved from College Board.
Note: Data on racial diversity for the 2018 testing cycle was not available at the writing of this post.
Four People with the Power to Change
Who is in a position to change the dynamics of which students take AP CS classes? I’d point to the four groups of people who advise students in high school.
- Parents
- Friends
- Teachers
- Academic advisors
One avenue I see for improving the racial and gender diversity in AP computer science is educating these four groups to recognize any biases they may have. Doing so might help them broaden their understanding of who is interested in computer science so they can recommend these classes to those students.
I hope this post can give you something to consider about race and gender in computer science. The high school education system can have a big impact on who is involved in our industry, and that’s really important to me.