Computer science, by itself, is irrelevant.
Of course, you could generalize that argument to all fields of study, but at least when you study biology, even if you don’t apply it somewhere, you understand how cells and organisms, including yourself, function.
However, with computer science, it does you no good to learn how to program or how CPUs work unless you apply that understanding somewhere. Computer science is focused exclusively on applications to fields outside of itself – that’s precisely why we refer to computer utilities as “applications” (e.g., mobile “apps,” software applications).
Problem-solver’s problems
While computer science is a field wholly concerned with algorithmic problem-solving, the problems it solves aren’t within the field. Hence, computer science must be applied toward another field of study in order to be relevant. For example, applying it to biochemistry allows us to model complex molecular systems and better understand their characteristics; applying it to linguistics allows us to create tools like Google Translate; and applying it to communication studies allows us to better develop social media platforms.
Despite this, there is little emphasis in computer science education on applying its techniques to different fields. Take the UCLA computer science graduation requirements, for example: Students are required to take only five general education classes (e.g., literature, philosophy, biology) and a single chemistry class alongside a series of math, physics and computer science courses. The School of Engineering and Applied Sciences does require students to take a nominal number of courses in non-computer science fields, but students just tend to find the easiest path to satisfy these requirements. Just taking a look at UCLA’s computer science Facebook group will show you this:
These tendencies have just become a status quo for students and SEAS. But, it’s not as if breaking from this status quo is enormously difficult. All it requires is for computer science students to take courses and systematically educate themselves in other fields that interest them, be that biology, chemistry or sociology.
I’m not saying that computer science students need to pursue a second major, but that they should have an open mind for exploring other fields and develop a keen eye for understanding the nuances of those fields. But, contrary to what many computer scientists in industry tend to do in practice, these nuances cannot be learned on the job.
Code outside the box
Computer scientists cannot expect to become knowledgeable about the fields they are applying their skills to simply through work experience alone – and I say this from personal experience. Rather, the foundational understanding can only come from some sort of education setting, be that reading associated literature in a library or taking courses in that particular non-computer science field.
While in high school, I interned for nearly three years at a molecular dynamics lab – this involved complex, computerized simulations of biochemical systems. While I started out just editing simple web pages, I was soon tasked with running molecular dynamics simulations of my own. Although my work focused mainly on running simulations and debugging any computer issues that came up, when it came time to interpret data and determine which simulation settings produced the most accurate results, I was sorely lacking in the chemistry knowledge I needed and started making mistakes. Although my mentor helped me out often, I eventually blundered so badly that it cost us nearly two months of work.
Of course, being a high school student, I wasn’t expected to understand the complexities of electrostatic and thermochemical interactions, but the byproduct of trying to learn these concepts only when I got the job cost the lab time and resources. Had I spent the time to seek out related scientific literature or simply ask someone in the field to teach me in-person – all of which I eventually did – the mistakes I made wouldn’t have exploded in the way they had.
Much like my experience, it’s naive to think that the people can learn just through work experience alone the concepts of the field to which they are going to apply their computer science skills. Even something so technical as developing a search engine, such as Google’s, requires knowledge in sentence structure and grammar – knowledge which can’t be learned simply by watching your coworkers and reading a couple of how-to pages.
For example, in the context of social media, computer scientists should be knowledgeable about the nature of people’s social interactions with one another and how, when people are sharing pictures with each other, they probably aren’t interested in sending money to each other – a questionable feature Snapchat added to its app in 2014.
Ultimately, while the emphasis in computer science education is to master computer science techniques and be equipped for the workforce, it’s equally as important to take a step away from the computer and learn a thing or two about another field. And who knows, it may only take that one step for you to create something revolutionary with computer science.
Low effort rambling shitpost. Disappointed in the content and hating myself for reading the whole thing. The arguments are weak and unfocused, and the author seems to just prescribe more outside study based on some nebulous personal experience from an author sorely lacking it himself. On a sidenote, posting someone’s unedited post from a publicly searchable Facebook group to shame them (as a budding computer scientist, you should know that blocking out the name isn’t enough) is poor form. 0/10
Can we get some posts in this field by someone other than computer scientists? There are quite a few more majors that are based in Boelter beyond computer science. Maybe change the name or find more writers.
I think the author needs to take a step back and take some more computer science classes before he passes judgment on the entire field of computer science.
Computer science in itself is a HUGE industry (certainly not irrelevant!), and it’s large enough that you don’t necessarily need to know about other fields such as biology to find work; many technology companies only require programming experience and knowledge to get a job. And even if you get a job at say a biology-related company, you don’t need to understand everything about biology to work there, you can learn as you go. What matters is that you know programming, and by learning programming you also know how to think analytically and solve problems, which is why computer scientists are hired for jobs unrelated to computer science like financial consulting, even though said student doesn’t know everything about finance or doesn’t have a second major in business economics.
Just wanted to mention that a lot of times (in larger companies at least), programmers aren’t the ones deciding things like adding the money exchange feature to Snapchat. They’re just fulfilling company objectives and writing the code they’re told to write.
lol, only the narrow minded people would say anything (not even mentioning subject) is by itself irrelevant. The author fails to see that everything is related in this world. And just opposite from what the author claims, by studying CS, I found out it helped me understand almost everything better in this world. For example, CS helps me a huge in: 1, understand human mind better(neural network, machine learning); 2, understand time management better (reduce context switching); 3, understand organization better (when you are working with system, you how one part can easily influence the other); 4, understand logic better, and therefore think better, therefore help me in understanding any issues that needs thinking better – which are 80% of what we do in our lives (cuz we are writing logics all the time); 5, getting to be more patient (cuz if not, you’ll not be able to write any programs); 6, getting to know as long as I’m willing to learn, I can (cuz we constantly don’t know 80% of the technology we need to know for most projects, but we just pick them up along the way, and found out that yes it was intimidating at first, but it’s actually ok) 7, Not speak in absolute terms, such as “Computer science is focused exclusively on applications to fields outside of itself”. (cuz no matter how careful you are, you can never say “my program has no bug at all”, “my system has no holes at all”); 8, if you read books like “Godel, Echer, and Bachs”, you will understand how you can apply self-reference and recursion in understanding where paradox come from, and a wide range of phenomenon in this world. I highly recommend this book to anybody. But i know the author definitely hasn’t read it, or he wouldn’t have written this article.
I can go on and on and on and on. The point is, for most things you do, subjects you learn, you can find out a lot of applications on other things in this world, including yourself, from the way it works, the thinking model you use for it, and the process you make it happen. And CS is particular amazing at it, because in some way, you can view this whole universe as computation (for argument like this, search Stephen Wolfram, the guy who invented Wolfram alpha).
Hope this comment can help reduce the bias imposed on the readers of this article. It’s pitiful that people who don’t know well tend to be the people who speak loudest. And in this world with Internet, we have incredible strong power than ever to have our voice be heard. “The more power you have, the more responsibility you have”, but unfortunately our growth of consciousness is not matching that of our voice.
There has been a big push to draw computer science students in towards computational biology as of recent. The opportunities are there.