I didn’t want to study computer science when I came to college. The idea seemed downright frightening before I took an introductory class on a whim midway through freshman year. I don’t think my experience is unique — so many people avoid computer science out of fear only to realize that they almost missed out on something wonderful. There are so many ways misconceptions and myths about computer science unnecessarily discourage people from trying out this field. By explaining some of my own doubts and misconceptions, I hope this will provide a window into the minds of those of us who are or were afraid of computer science.
I thought doing CS meant spending my whole life searching for typos and being angry all the time.
In elementary school, I was lucky to have teachers who thought it would be cool to teach us how to make our own websites with HTML. I was so proud of my website about Venus flytraps. At some point, my website wasn’t doing what I expected and I couldn’t figure out why. I asked for help and the computer lab teacher went through my HTML with me over and over until he finally found the problem. (It was a misplaced tag or unclosed tag or something like that because HTML hates you.) I was only 9 or 10 years old at the time, but that day of headdesking as a child made quite an impression on me. I got the idea that all that “computer stuff” meant typing lots of complicated things, making tiny mistakes, and getting really frustrated when things were broken and you couldn’t figure out why.
This belief actually stayed with me for most of my life before college. During my senior year of high school, my then boyfriend was in the process of petitioning to switch majors and couldn’t decide between computer science engineering and aerospace/aeronautics engineering. He asked me for my opinion and I distinctly remember saying, “You should do aero/astro because if you do CSE, you’ll just be unhappy and want to break your computer.” At the time, I didn’t think very much of that conversation, but I look back now and feel slightly ashamed that I was so against computer science before I really knew what it was. I was just entirely certain that computer science meant frustrated keysmashing and I wanted no part of it.
The sad part is that I wouldn’t even be able to go back in time and deny this to my past self, because it’s not entirely false. I do yell at my computer frequently, my swearing is proportional to the amount of compiler errors I get, and sometimes I get so frustrated I just need to take a step away from everything. Yet, I do it anyway. It might be true that programming means sometimes battling with my computer, but it’s also true that I enjoy debugging. It’s infuriating and confusing and it drives me mad, but fixing problems and creating a working program elicits the most exciting, incredible feelings — usually accompanied by even more shouting and dancing. I spend hours writing and debugging code, but at the end of the day, I like it. Maybe my elementary school self would call me insane for enjoying CS in spite of all the profanity and frustration, but I would be quick to remind her that she also spent many hours more than necessary perfecting her website and adding extra features even after all that confusion with HTML.
I thought it had to do with, like, math and stuff?
Don’t get me wrong — I like math. It’s just that math doesn’t like me. It’s an unrequited love in which I tell it how cool and fascinating I think it is, and all it gives me in return is mistakes and confusion. And CS does, like, have to do with math and stuff. I was just uninformed about what that really meant. When I first heard about Stanford’s Biomedical Computation (BMC) major, I thought they were literally learning how to make calculations about patient data. I thought it meant learning how to use Excel spreadsheets and crunch numbers over and over. That still sounds awful.
But bioinformatics is actually about applying programming concepts and algorithms to biological problems, not at all about spreadsheets and number crunching. And in computer science, using math to discuss and quantify efficient solutions is nothing like the kind of math I did in high school. I don’t actually do very much math now because I choose not to, but the math I do all comes together in a beautiful and relevant way. (I’m sorry math people, I’m really trying to describe my own high school math experience here. Y’all are cool.)
I would feel very, very guilty if I gave the impression that one could or should get through an entire computer science program without developing any appreciation of math. Understanding, enjoying, and being good at math are wonderful qualities (that I sadly do not possess). But I was scared away from CS because I didn’t want to do “Xtreme Math: Computers Edition” and I wish someone had told me that I could do as little or as much math as I wanted and that “being good at math” was not a hard requirement for studying CS. In general, CS isn’t well understood; not many people know what it actually means, so the “like, math and stuff?” reputation ends up turning people off needlessly.
I wanted to do everything else in the world and didn’t really see how CS could fit into that.
Aside from being not at all familiar with what computer science meant, I just had too many other fields on my mind. I was — and still am — extremely attracted to the idea of making discoveries and changing lives through medicine. At the same time, I wanted to be an engineer, study philosophy, and improve as a writer. Computer science didn’t seem relevant to any of those goals, so it never landed on my radar. As it turns out, I now study computer science partially because it has such a huge potential to impact medical research, it has given me the logic and proof-based skills that I need for philosophy, and it’s one of the areas I write about the most!
This feeling is actually pretty common for women. It’s not always the case that computer science is a Terrible Thing — it’s just wanting to pursue everything else and not considering computer science as an option among those other areas. More concretely, researchers found that women who performed highly on both the math and verbal portions of the SATs were more likely to choose non-scientific careers because their wide range of aptitudes meant they could choose from many fields. It’s not immediately clear that computer science might be relevant to a non-technical person’s other interests, so it doesn’t cross most people’s minds to check it out.
I didn’t see any other girls.
I went to a math and science summer program the summer after my junior year of high school, where we were split into different academic groups based on our interests. At the time, I was dead set on becoming an astrophysicist, so that was what I studied. There weren’t any barriers against talking to students from other groups and I had plenty of friends outside of my class. The one group I never talked to, however, was the computer science group. Of about 12 students, there was one girl. The rest of the guys honestly just didn’t seem very friendly and I was intimidated. For a program that advertised itself as having overall gender parity, the CS class was just burned into my mind as “the one with all the guys.” And that mattered a lot. I didn’t see it as a field for girls, I didn’t want to only have guys to talk to, and I didn’t want to feel as though I was representing girls with my actions.
Obviously, this is still the big problem that prompted this writing. To be clear, I’m not saying that the gender imbalance actually would have stopped me from majoring in CS if I had wanted to. I can say with pretty high confidence that I would have majored in CS regardless of the gender ratio, but the point is that I’m happier now because the environment is different from what I imagined. It’s the difference between sitting in my room thinking, “Oh computer, only you understand me…” and actually having women I can relate to, both in and outside of CS.
I didn’t think I could ever learn enough to make something complex.
I actually did attempt to program in high school. For a day. An online friend of mine suggested that I learn how to program and showed me how to set up Scheme. He wasn’t the best teacher, so all I learned was how to print out the sum of two numbers. I was disappointed. I didn’t see how adding numbers together on a screen could help me do anything near writing a full-fledged program. I got the idea that geniuses and advanced programmers wrote the fancy stuff, but all I would ever know was how to do basic arithmetic. There just didn’t seem to be a way for me to make the jump from derping around with numbers to making something I would want to use. More importantly, I didn’t see how I could ever know enough about programming to make something that other people would want to use.
This is the one time where I can say I was straight up mislead. I didn’t know anything about programming! I thought I was just supposed to do a bunch of stuff with numbers and somehow make that into a program. It seemed utterly perplexing. No control flow, no string manipulation, no I/O — it’s no wonder I didn’t want to learn how to program. All I knew was arithmetic. Now, I think of computer science as exactly the opposite: empowering. I think of it as the field where I can make shiny programs and solve big problems. I think of it as the field where I can build anything I imagine.
Most of these reasons are not gender-specific. We’re starting to do a better job of advertising computer science for what it is, but if my experience is any indicator, the connotations will continue to be negative. Even for a self-proclaimed nerd who spent most of her time in high school glued to a computer, CS just wasn’t appealing. Projects like Code.org are making headway in showing people that programming is more than ragequits, math, and being alone in a room all day, and I love that. I know that these messages would have made an impact on me if they were around when I was a child, and I sincerely hope they continue to spread that message to anyone who might be in my situation.