• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Avinash Meetoo

Avinash Meetoo

Let us build a Smart Mauritius together

  • Home
  • About
  • Curriculum Vitae

Computer Science is not a Science

1 June 2016 By Avinash Meetoo Leave a Comment

20160601-fields-of-computing-final

A few days ago, I drew the following and posted it on Facebook:

20160601-fields-of-computing

The discussion which then took place was very interesting.

Selven Cheenaramen and Pascal Grosset were in the opinion that Computer Science is not a Science. Selven referred to Jonah Kagan’s post Computer science isn’t a science and it isn’t about computers which states that:

Computer scientists are concerned with questions like: How do you find the shortest route between two points on a map? How do you translate Spanish into English without a dictionary? How do you identify the genes that make up the human genome using fragments of a DNA sequence?

There’s a difference between the question, “How do you identify the genes that make up the human genome?” and the question, “What are the genes that make up the human genome?” The latter, a question posed by biologists, asks for a specific fact, while the former asks for a procedure (an algorithm) which can produce that fact.

Consider any science: chemistry, biology, physics, or even one of the “soft” sciences like psychology. All are concerned with answering factual questions about the world around us. In computer science, the goal is not to figure out the answers to factual questions, but rather to figure out how to get answers. The procedure is the solution. While scientists want to figure out what is, computer scientists want to know how to.

Jonah Kagan then states that, given that Computer Science is not a Science, then it is Mathematics:

Since the problems solved by computer scientists are defined separate from the real world, we can’t use the scientific method to analyze their validity. We can only analyze procedures within the realm of abstraction in which we have created them. Luckily, this type of reasoning is exactly why we have mathematical logic. Mathematicians, too, are concerned with the idea of truth in the abstract. Instead of running experiments, computer scientists define problems and procedures mathematically, and then analyze them using logic. This is the fundamental reason why computer science is not a science.

Given that the correctness of procedures is proved using mathematical logic, it might seem like computer science is really just a branch of mathematics, which it is, in some sense. In fact, much of the “math” we learn in school is actually computation.

He then explains that computers are not essential in Computer Science:

[T]here’s nothing fundamental about procedures that requires the use of computers. Computers aren’t the only tools that can be used to execute programs. For instance, elementary school students are perfectly capable of executing the long division algorithm. We use computers instead of small children because computers are fast and reliable […]

Aha. We just use computers when doing Computer Science because they are fast and reliable. If computers did not exist, we would have done the procedures by hand but the whole process would have been much slower and error-prone.

So it looks like Computer Science is not a Science and is not about computers. But is it? Jonah Kagan acknowledges that:

While at its core, computer science really is the pure study of procedures in the abstract as I described, in reality, the field has grown to encompass a wide variety of pursuits. Some computer scientists are concerned mostly with designing intricate systems that rely heavily on the specifics of computer architecture. Others study human-computer interaction, which actually does use the scientific method to determine what types of interfaces work the best for computer users.

It would be easy to dismiss the outliers and say they are not true computer scientists, that their work falls under the umbrella of some related but fundamentally different field. But I think the breadth of study within computer science is not necessarily a bad thing. It doesn’t need to be strictly defined.

[…]

In the end, its the rate of growth of the field that makes all this definition business so tricky. Computer science is still young, and always undergoing new growth spurts.

In other words, Computer Science might become a Science in the future.

Hansley Chadee then offered this very interesting perspective:

Artificial Intelligence is the bridge between all of this (Computer Science) and the natural world, including philosophy…

Aha. My interpretation of this is that, once, we, human beings, invent Artificial Intelligence (and it seems that Google Deepmind has already done so…) then Computer Science becomes a Science as we would have explained the functioning of the natural brain.

Noorani Bakerally then finally stated (I am paraphrasing as I cannot find his post on Facebook):

Do not forget that we, human beings, with our limited capacity, can only understand a small portion of nature. So there is surely more than Science…

Given these compelling evidence (and while AI is not pervasive yet), allow me to update my initial drawing:

20160601-fields-of-computing-final

Filed Under: Art, Computing, Education, Science, Technology

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Search

I am proud of

My family
My company
My music
My photos

You may also like

Default ThumbnailTen essential Computer Science books for students Default ThumbnailHow to (really) learn Default ThumbnailSystem design is dealing with complexity Default ThumbnailMy keynote speech at the UoM Research Week 2022

I am active on

Facebook
FB Page
Twitter
LinkedIn
Reddit
Hacker News
Stack Overflow
GitHub
Wikipedia
YouTube
IMDB
Last.fm

A few posts at random

Computer and Information Security are key to the Digital Transformation of Mauritius

Education is confusing

Queen Elizabeth II has died

All posts

  • March 2023 (1)
  • January 2023 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 2022 (1)
  • January 2022 (3)
  • November 2021 (1)
  • September 2021 (1)
  • June 2021 (3)
  • April 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • May 2020 (1)
  • April 2020 (3)
  • March 2020 (4)
  • January 2020 (1)
  • July 2019 (1)
  • June 2019 (1)
  • April 2019 (2)
  • January 2019 (1)
  • December 2018 (2)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • January 2018 (1)
  • December 2017 (1)
  • November 2017 (1)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • March 2017 (1)
  • February 2017 (1)
  • August 2016 (1)
  • July 2016 (1)
  • June 2016 (3)
  • April 2016 (3)
  • March 2016 (3)
  • February 2016 (1)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (5)
  • June 2015 (1)
  • September 2013 (1)

Copyright © 2023 by Avinash Meetoo · Shared under an Attribution 4.0 International Creative Commons license · Log in