To many at Stanford, declaring a major in computer science represents caving in. Friends let out knowing, if judgmental, chuckles when a once-undeclared friend’s picture inevitably appears on the CS Course Advisor page. Humanities majors studying comparative literature or religion often criticize their Huang-dwelling acquaintances for being career-minded sellouts, choosing their major just for the sake of a job. Critics worry that Stanford students’ tendency to value writing proxies in C++ over contemplating Kant is destroying the liberal arts education.
But pause before judging that student. Instead, think carefully about whether you made the right choice in deciding not to study computer science. Computer science is, indeed, the most popular major at Stanford — 263 degrees were granted in the subject last year. But why aren’t even more Stanford students studying computer science? For an undecided student, the field represents perhaps the best balance of intellectual stimulation and practicality among Stanford majors.
Many “fuzzies” write off computer science as academically unfulfilling and unworthy of being called a true intellectual pursuit. But computer science is both logically rigorous and intellectually stimulating. Similar to writing a philosophy paper, which requires you to carefully list the premises of an argument, translating a problem into code requires breaking it into steps. Even the smallest logical error can prevent your code from working. Many criticize computer science for being robotic and rote, not requiring abstract thought. But practice in systematic thinking is invaluable for understanding any other academic discipline, from politics to philosophy. If the ultimate goal of a liberal education is to learn how to think, training in computer science is one of the most effective ways to become a logical and systematic thinker.
Furthermore, as technology continues to transform the ways we communicate, learn, fight, and govern, an understanding of technology is increasingly useful context for humanistic inquiries. And finally, computer science is theoretical at its core, requiring logic, discrete mathematics, and other subjects. It probes philosophical questions, such as whether a computer can act as a mind. In its combination of precision and creativity, theoretical computer science shares much with mathematics and music, subjects that could hardly be called un-intellectual.
Computer science also lends itself to interdisciplinary study. While the computer science core is a hefty time commitment, a self-designed computer science track only requires four computer science classes beyond the core. A student could easily specialize in a diverse range of subjects, from computational biology to cybersecurity and tech policy to natural language processing of classic texts. Because the major requires only 96–106 units out of 180 needed to graduate from Stanford, CS majors have plenty of room to take humanities, social sciences, and natural science classes.
Furthermore, if a student seeks excellent pedagogy, she should look to computer science. Stanford’s introductory computer science classes are lightyears better-taught and better-organized than introductory chemistry or the Math 50-series. The classes have been honed over the years — for example, CS 107, Computer Systems, has become a well-oiled machine with a website full of helpful guides for navigating the debugger or understanding the C language. The computer science department has invested years of effort into creating a stellar core sequence of seven required courses (compare the abysmal math 50-series or dry chem 30-series); an equivalent does not exist for the humanities (although the new humanities core is one attempt to close the gap.)
And contrary to the zeitgeist among the fuzzies at Stanford, it would be probably better for society if more students studied computer science. The economic facts are clear: the fact that computer science salaries tend to be higher than other white-collar jobs indicate that these skills are more immediately needed by society. Indeed, software engineers are writing code that detects cancer, helps a lower-income person become eligible for credit, and improves urban mobility. There is a strong argument that by choosing to major in computer science, you contribute far more to the world than by choosing a major in humanities.
But perhaps the most convincing argument against shaming CS majors is a simple economic reality: not every student has the luxury to choose a major based on intellectual passion alone. Research suggests that lower-income students are more likely to study “practical” subjects such as computer science, math, economics, and physics, while higher-income students are more likely to study the humanities. For a lower-income student, the high salary promised by a CS degree is a serious consideration: the average starting pay for a Stanford CS graduate is $90,000, more than the median salary for a person with a bachelor’s degree and 20 years of professional work experience.
For many students such as myself, a Stanford degree is a ticket to upward mobility through society, and our choice of a major deeply impacts our abilities to provide for our families in the future. When viewed through this lens, criticizing computer science majors as “sellouts” looks insensitive. Wealthier students may joke about how their classics degree will leave them unemployed, but for a lower-income student this is a very real fear. Studying CS is one way to bolster their future income stability and social mobility. It doesn’t help the situation when the administration perpetuates misleading rhetoric about the earnings potential of humanities majors, making lower-income students’ choices seem even less legitimate.
Students should never feel pressured against choosing a major by the disdain of their peers. Choosing to major in computer science is a rational default for an undecided student. Disdain for computer scientists as lacking intellectual curiosity is unfounded — computer science is hard, fascinating, and rigorous. And economic realities often require a practical choice of study. Criticisms of computer science students for being overly practical often reveal more than anything their speakers’ entitlement than their targets’ supposed lack of intellectual vitality.