Is Computer Science an art, engineering, or science discipline? Explain your thoughts and the implications of your assessment.
This post is slightly late (due to my late enrollment in the course). I’ve had the benefit of being part of the in-class discussion for this specific blog post, but it really started this idea in my head that wasn’t discussed in class. As to whether Computer Science is an art, engineering, or science, I see it as a bit of all three.
I want to focus on the idea of STEM, or Science, Technology, Engineering, and Math. This is a focus of education into a very technical area. These four areas are closely intertwined, and someone hoping to find a career in any of these four fields should have at least some understanding of the other three (which I think most people do). But the question here isn’t just about if Computer Science is an engineering or science, but also if it can be considered art. And so obviously I’ll bring up STEAM, where the additional A actually refers to art.
So STEM/STEAM seem to encompass them all, and they’re grouped together because they overlap in a lot of ways. I would be inclined to put computer science in the technology category, so not engineering, science, or art, though it overlaps with these thee. An understanding of engineering to know what the purpose of the code is and what it physically does, an understanding of math for algorithms and logic, and an understanding of art so that the code is creative, enjoyable, and an individual expression of one’s interests
I think the article where software is compared to bridges is very interesting and, along with what Paul Graham says in “Hacker” tends to push Computer Science as an art for rather than a type of engineering or science. From what we discussed in class about this topic, and something I found interesting, is that scientists (and engineers for that matter) work on problem sets and learn things that someone else has already discovered, while a computer scientist (or hacker) is constantly discovering new things, writing code in their own terms and language, to me, making it seem much more like an art—an expression of creativity and individuality. So if we look at it that way, Computer Science is an art.
Yet as computer programming has developed more and more, it has started to fit more this mold that science and engineering follow—someone has done a lot of the preliminary research to get where were are today, and so people are trying to build off those initial ideas. I think that computer programming is starting to reach such a plateau. Most code is started off of something that someone already wrote, that someone else came along and edited (or even something that was initially intended for another purpose). As an Electrical Engineer, it has been a while since I’ve done much coding, but even from what I did, rarely did I ever start a program from scratch. I either had someone guiding me on my first few projects, and then the rest of my projects, I used code from other programs I’d written. I think the idea that computer scientists are constantly coming up with new code is not necessarily true. In the same way that engineers and scientists aren’t always creating new things, but working off what someone before them has done.