The question of what discipline Computer Science falls into is a rather interesting one to me. On the one hand, I think it’s a silly debate that serves little purpose at all; but on the other hand, as a Computer Engineer required to take Electrical Engineering classes, it’s clear to me that Computer Science doesn’t fall completely into the category of engineering.
Since I started taking Electrical Engineering classes last year, there has been one common theme—they’ve been harder, more time consuming, and just straight up more technical. Engineering is usually considered to be the applyment of scientific theory to real world concepts. Using that definition, EE fits into engineering; EE is applied Physics II – Electricity and Magnetism. In the same sense I think you could easily describe Mechanical Engineering as applied Physics I – Mechanics.
Some of the discrepancy between the difficulty might be due to my own aptitude at the subjects. It may also be the case that one department is easier than the other. But I still feel as though Computer Science is not engineering in the same sense as the traditional ones like Civil, Mechanical, Electric, etc.. But if it’s not considered engineering, then what IS it considered to be?
Similar to what B. Jacobs proposed in “‘Computer Science’ is Not Science and ‘Software Engineering’ is Not Engineering”, I believe that Computer Science is most closely related to math. Rory and Jeff Atwood from the first reading this week are not convinced that this classification is true because as Rory put it,
When I was growing up, I remember hearing people say things like, “If you like computer programming, then you’ll love math.” I always thought that these people were absolutely nuts.
I think this reasoning is flawed, because not all math is the same. Most people don’t love all types of math. Just as all physics is not the same—Electrical Engineering is based off of electricity and magnetism principles while Mechanical Engineering is based off of mechanics principles, Computer Science is based off of discrete math and logical reasoning principles. Chances are if you love logic games you’ll also love programming.
Describing Computer Science as applied discrete math fits into our previous definition of engineering. The problem is, I don’t believe math can exactly be defined into either an Art or Science. Recently, I read an article describing exactly this issue of categorizing mathematics. In Is mathematics an art or science?, the author posits that math is neither an art nor a science and that it actually falls somewhere in between the two, as a third path.
“Mathematics is inherently different from other disciplines. While it is wildly creative, it is not art. While it can be used to model natural phenomena, it is not science. There are elements of both art and science in the field, but it isn’t a subset of either.”
Continuing this reasoning, if math falls in between an art and a science, and Computer Science is the applyment of one specific field of math, it is reasonable to say that Computer Science is actually somewhere between all three!
The second article this week, Programmers: Stop Calling Yourselves Engineers, is a lot more concerned with the lack of certification, standards, and credibility that computer scientists must face. I think it is unrealistic to put the same set of standards on most software developers as we have on bridge builders because one discipline is literally thousands of years older than the other.
However, in some areas technology is being used for more crucial purposes than ever, and just as how your life depends on the bridge not collapsing, your life as you know it may depend on some of these computer systems. For this reason I do believe that more certification is required in some areas of computer science to ensure that disastrous events like the recent information hacks are not repeated and that our sensitive personal data is being stored privately and securely.
Ideally, I don’t think the classification of what Computer Science actually fits into should matter. The truth is that it falls somewhere in between art, science and engineering in a discipline entirely of its own. But when it comes to getting jobs and with computer systems playing increasingly important roles in society, I feel as though marketing Notre Dame’s Computer Science program as a form of engineering is the most beneficial and most accurate.
Notre Dame gives us a hardware background that goes far past just the logical level of programming code. Someone that took an advanced Python course will hold their own in a lot of contexts when it comes to programming software applications. But by knowing what actually goes on behind the scenes, and every step of abstraction along the way, from the physical hardware, to the OS level and beyond, I believe that Notre Dame students are more complete programmers. These are the workers we want building the crucial systems we rely upon, and for that reason I think Notre Dame students as well as many similar programs are worthy of being considered “Engineers”.