Is Computer Science a “Science” ?

As the first semester wraps up, I reflect on my teaching and decided to discuss a question that has been on my mind, is Computer Science a Natural Science? In my Theory of Knowledge course, we examine the natural sciences as an area of knowledge and make definitions for what natural science is and isn’t. The traditional view of the natural sciences includes physics, chemistry, and biology. However, in the modern era, these categories are expanding along with societies view of them. For example, the I.B. now has moved Computer Science into the natural sciences section of it’s disciples along with some other non-traditional “sciences” like Sports & exercise. This paradigm shift has caused many to question the broadening definition, and is moving away from what “science” stands for. The traditional view of Computer Science was to see it as an offshoot of mathematics or engineering, but can it fit the definition for being a “science”? A working definition of “science” could be that it is a method to speculate through hypothesis, define models to explain phenomenon and behaviors, make predictions, execute testing, and refine and re-examine as necessary (therefore restarting the method in a self-correcting manner). There is no doubt that science follows a method often called the “scientific method” but the actual order and classification of the steps in that method are often contestable. The traditional view of the scientific method is know as inductivism and consists of five key concepts:

  1. Observation
  2. Hypothesis
  3. Experiment
  4. Law
  5. Theory

Here we see some similarities to the discipline of Computer Science, but also some vital differences. The most striking difference between Computer Science and traditional natural sciences like physics, chemistry and biology is that those disciplines study the natural world, and Computer Science tend to study man-made objects. This is also the argument why mathematics is not a science as it conceptually studies man-made concepts within mathematics. But perhaps the definition of “natural science” is not meaningful here, and instead we should just focus on the definition of “science”. If we can define science as a method, then Computer Science can be shown to follow specific methods like traditional inductivism. Recently, the University of Manitoba’s chapter of the national Let’s Talk Science (LTS) program included a new workshop on Computer Science. This organization is described on their website as:

Let’s Talk Science is an award-winning, national, charitable organization. We create and deliver unique learning programs and services that engage children, youth and educators in science, technology, engineering and math (STEM)

And the U of M has added a workshop on Computer Science that one volunteer described as a highlight of this year’s workshops. The workshop called “Crazy Cryptography” teaches the basic tenets of Computer Science. By taking something like a video game and breaking it down into small tasks that are feasible for each individual to do. This can show kids that computer programming is more of a teamwork challenge. It also shows kids how to code – like a secret message. It gets kids to understand that you need to have the programming side of the message to get the other half of the message. It’s important, she says, because basic computer programming skills are not emphasized in schools, even though computers are ubiquitous. Do these examples of Computer Science being treated like a science add to it’s legitamacy? Or does the definition of science and the general understanding of science still leave Computer Science insufficient in it’s ability to meet the criteria? Peter Denning has stated “Computer science meets every criterion for being a science, but it has a self-inflicted credibility problem.” and wrote a short paper on the matter. In my opinion, Computer Science is not a “natural science” but can be defined as a “science”.

Future Challenges in Computer Science…

Computer Science: Facing Challenges and Improving the World. Computer science is faced with many challenges as the digital universe expands. From mobile and cloud computing to data security, addressing these issues can require large, structural changes, but an examination of these problems can lead to organizational solutions and improvements in the world. Challenges in Computer Science: More employees and customers are using mobile technology. A switch to cloud services and an emphasis on mobile platforms are essential, the Internet’s infrastructure will need to be updated to match the “New Internet.”, in 2020, 100-billion uniquely identifiable objects will be connected to the Internet, 80% of security professionals rated data leaks and exposure of sensitive information as the highest concern. Changing the architecture of organizational networks can seem daunting. Steps Toward Solution: Identify and remove bottlenecks, improve routing patterns, and utilize better servers, use software-defined networking to allocate resources and increase data efficiency, change 10GB fiber optic cables to 100GB. As organizations improve networking and infrastructure, an explosion of data will lead to more problems with rewarding solutions. Big Data and the Digital Universe: By 2020, the digital universe will grow from 130 to 40,000 Exabytes, the data that requires protection will grow by 40%, data will become more complicated and harder to secure, store, and analyze. While the problems facing computer science and Big Data are paramount, these issues can lead to opportunities within bioinformatics and health care to improve the world. Changing the World: improved experiments and advances in data visualization and health technology are leading to insight into cancer and rare diseases, genomics is helping researchers understand genetic diseases and could result in profound improvements in treatment. To learn more about the problems facing computer science and how addressing these issues could improve the world, take a look at the infographic below produced by the New Jersey Institute of Technology.

New Jersey Institute of Technology’s Online Masters in Computer Science | Future Challenges in Computer Science Infographic | Computer Science Online NJIT