What is Computer Science?

Nicholas An
4 min readJan 4, 2022

Computers are a class of machines that use numbers in order to calculate arithmetic and logical queries. How do they handle numbers? They use electricity flow, which is the reason why it’s super fast — such flow has a speed of approximately 90% of the speed of light, and thus the speed of a computer part sending some signals to another part is about 167,000 miles per second.

You might be asking “Well, yeah that’s cool and all that such machines can crunch numbers very fast, but I am not a Mathematician. Who cares if they can calculate things quickly and an astronomical amount of times?”

The key is in the words “fast” and “astronomical amount of times”. If one does a task very fast and can perform this task billions of times without getting tired, this person would be the “employer of the year” or even “employer of the world”. You would say “But the only tasks that this one can do is dealing with numbers”. Here is another news, numbers don’t only represent the number of things or speed or some measurements but can also represent many other things like airplane blueprints, English alphabet letters, and etc. Using these attributes, you can take advantage of the machines and make them work super fast and 24/7 to serve our purposes.

However, the machines are merely tools, artificial ones at that. The trendy tech stacks — as of now, the popular Web Development stacks are MEAN (MongoDB, ExpressJS, Angular, NodeJS), MERN (MongoDB, ExpressJS, React, and NodeJS), MEVN (MongoDB, ExpressJS, Vue, and NodeJS), and Ruby on Rails — you are being fed by many boot camps and pragmatic college courses are extents of those tools. Many people reckon Computer Science the study of computers, as the name insinuates. In my opinion, the subject name “Computer Science” is a misnomer. It’s as if you address Biology as Microscope Science or Physics as Particle Accelerator Science. Microscopes and particle accelerators are apparatus we use in order to test our explanations and predictions about the universe — explanations and predictions for building, organizing, and often debunking knowledge. Computers and tech stacks are just like microscopes and particle accelerators. They are not the core essence of this relatively new discipline (Computer Science programs in colleges started in the 1960s). The essence lies in the phenomena of these tools, and since these tools only deal with numbers, such phenomena are classified as a branch of Mathematics (and perhaps Analytical Philosophy — the study encompassing the formalization of ordinary language statements into a logical language). Here are a few key ideas in that essence:

  • how one stores and processes information
  • how we should express our instructions for it to compute efficiently

Pay attention to the bolded words — information and express. Programming is a way for us to express a sort of methodology we build. The way in which this expression and the information we want to manipulate get handled, gives us hints about how we can go about in order to make that methodology more efficient. The big chunk of such efficiency is not about the speed nor spatial capacity but rather the controllability of intellectual complexity.

The controllability is achieved via abstractions. You extract the most important attributes of complex mechanisms, hide them underneath some boxes, and label the box with the aforementioned attributes. You repeat this ‘hiding under a box → labeling with key attributes’ as you go further up the levels of categories. This results in an ‘abstraction hierarchy’ enabling us to manage the complexity of the entity.

Another thing to notice is that a lot of what I have been talking about is far from attributes of other science. For instance, microscopes and particle accelerators are being used in order to do things with knowledge of the universe — the things that have existed already. On the other hand, computers aren’t made for this. The computing artifacts are made for us to manipulate information, and such information and what it represents are artificial. As Subrata Dasgupta stated, the information we are concerned with has its essence in symbols. We are not trying to find how many cells reside in a jellyfish. We are trying to analyze and manipulate the metaphysical models we have agreed upon. Symbols are the ones being processed and stored in those computing artifacts and such symbols are closer to artifacts than something that has existed in the universe — the subject of other sciences. Instead, our goals and purposes are deeply reflected in the subject of this particular kind of ‘science’. Rather, many computer scientists argue that CS is more of a branch of engineering.

Thus the essence of Computer Science is not about discovering the laws governing the structures and behaviors of ‘what is already’. Our subject entails the relationship between our needs and goals. Given our needs, how can computers achieve our goals? How can we demonstrate the mechanisms of their achievements?

--

--