Computer Science has been recognized as a separate discipline from the last few decades. It had evolved as tools, methods and then as processes [Denning, P.J., 2007]. Many of the people in the research community do not accept computer science as a natural science due to its credibility problem because it does not have its own well-formed theory.
I pose this question from computer science community, "how would you defend that Computer Science is a Natural Science?"
Personally I don't think computer science is a natural science in the traditional sense. Rather, computer science combines several branches of science. As I see it, most computer science is either a branch of mathematics (mainly theoretical computer science and a lot of work on security), or a branch of "soft science"* (mainly in terms of user interface studies and software engineering).
*I'm not sure about the correct terminology here, but that's a topic for another time.
The traditional argument against computer science is that it studies what is essentially man-made: natural science is the study of the real world. Analogously, mathematics is typically not considered natural science. However, I would note here that some computer science touches with electrical engineering and increasingly interacts with real world processes. Important examples include industrial control systems, implantable medical devices and computer vision techniques.
Finally, I would like to note that the distinction between natural science and other types of science is not really meaningful. What do we really gain from such a distinction?
Science (from Latin scientia, meaning "knowledge") is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe (source: Wikipedia). Computer Science is
a.) Systematic
b.) It DOES have testable explainations.
c.) It's more organized than any of the other sciences because of the fact that it exists for the very same reason: organization.
And as for a well-formed theory, which field of Science does have one? When I have a computer at my disposal I can simulate a mathematical model of ANY random theory even if it is in reality impossible. Such is its power.
Dear colleagues,
I believe that the paper below adds to this discussion: http://www.igi-global.com/article/grand-challenges-natural-computing-research/72692.
All the best,
Leandro Nunes de Castro
Personally I don't think computer science is a natural science in the traditional sense. Rather, computer science combines several branches of science. As I see it, most computer science is either a branch of mathematics (mainly theoretical computer science and a lot of work on security), or a branch of "soft science"* (mainly in terms of user interface studies and software engineering).
*I'm not sure about the correct terminology here, but that's a topic for another time.
The traditional argument against computer science is that it studies what is essentially man-made: natural science is the study of the real world. Analogously, mathematics is typically not considered natural science. However, I would note here that some computer science touches with electrical engineering and increasingly interacts with real world processes. Important examples include industrial control systems, implantable medical devices and computer vision techniques.
Finally, I would like to note that the distinction between natural science and other types of science is not really meaningful. What do we really gain from such a distinction?
Current Computer Science can't be a natural science but in future we will see this branch as natural in the form of Bio-Computer Science
See, the algorithms used over here are 90% implemented in human brain, so we are trying to mimic our own algorithm in a complex way , just we want the things to be done ready made..plz visit the page of artificial intelligence and neural network on WIKI.. you will get this. Thanks
Perhaps Computer Science sprouted with Alan Turing and his famous paper about Turing Machine and the Entscheidungsproblem. Is any problem "algorithmicable"?
Abry et al, "Multiscale nature of network traffic", Signal Processing Magazine, IEEE, vol 19, pp 28-46 (2002), wrote an interesting observation about network traffic and could apply to Computer Science: "Although created by man and machine, the complexity of teletraffic is such that in many ways it requires treatment as a natural phenomenon."
Rens van der Heijden's answer is pretty much covers many of my thoughts on the topic. I believe that Computer Science is more akin to Mathematics than a physical science (biology, chemistry, physics, astronomy, etc, and all their sub disciplines). The caveat being that it also allows simulation of those same sciences through the creation of algorithms that simulate/model physical objects and behaviors.
Here's what Richard Feynam had to say http://www.youtube.com/watch?v=lL4wg6ZAFIM
I agree with Rens van der Heijden.
I don't think you can defend the position or that there is a lot to be gained from defending such a position. I personally think that the only real use of the label 'computer science' is to group and identify research and researchers that are somewhat related to algorithms and computers.
Not much would really change if 'computer science' became a 'natural science'... Aside from the fact, we would all have to wear lab coats.
Computer Science is a Science, but not typically is thought of as a natural science. Some branches of computer science do regard some natural phenomenon but most of core computer science is formal science since it is a sub field of Mathematics.
Dear RG colleagues and friends,
Thank you very much for your invaluable & fruitful comments.
After the discussion with my senior colleagues at the department regarding the posed question I came to the following conclusions:
i) The word "Computer Science" should be named as "Computing Science" because the word 'computer science' does not actually represent the actual spirit of the discipline. The sole of the discipline is "Computing", i.e. "Algorithm".
ii) The discipline of "Computing Science" is an outgrowth of Mathematics as well as Physics and hence are treated as the "Father" and "Mother" of the Computing Science.
iii) Initially the discipline was grown as Tool, known as "Artificial Science", and were also designated as the "3rd Pillar of Research" joining theory and experiments but now it is regarded as "Natural Science" because the computing is inherently natural.
iv) In most of the university of India and abroad, the computer science department has been kept in Natural Sciences faculty/school.
Regards,
-- Khalid
I think your fourth conclusion is a good one, even though I also know universities where there is a seperate faculty for computer science and electrical engineering, sometimes including mathematics. I think this reflects the discussion we have here.
However, in response to the first conclusion, I would like to say the following:
I feel that 'computing science' focusses too much on computational problems. Yes, computational problems are important in our field, but they focus very much on one aspect. As a researcher with a focus on security and networks, I feel that computer science represents a more general field.
Well.. there are many areas in CS that are not really a science. They should be named and affiliated under the Engineering faculty..
Computer Science is not a Natural science but an applied Science with specified applications
@Prof.Kishan That is simply incorrect. Engineering is what academia knows as applied science. In one sense, CS might be considered more towards the applied *mathematics*
Computer Science can be both, theoretical and practical, but it is obviously not a member of the natural sciences. After all, computers are made by humans So, @Prof. Kishan is not simply incorrect but just not complete. As an example for ideas about SC, see http://en.wikipedia.org/wiki/Computer_science.
@Michael: Computer Science is no more about computers than astronomy is about telescopes. The computer is a tool in a lot of regards to when people study computation (which is science) unless they have solely applications in mind (which is not necessarily scientific). Computation is what is at the heart of computer science. I usually stick to the name "Computing Science". Some of the best computer science can't even be executed on a computer for example. For example, some of my work can't even be applied to computers, but it is Computer Science because it is a question about computation. Computer Science is formal science because of its roots in mathematics. For example, I very rarely even have a computer in mind when I design algorithms. I just use the computer to test them (and can be applied to solve problems using them afterwards) but it is all proofs beyond this, which is how CS is traditionally done. Some branches of CS can relate to natural science. I have colleagues who work for example in the theory of computing around genomic sequences and how natural computing occurs, or how the brain processes certain things. CS is not a natural science, but it is definitely a science if we don't include applied areas where it is more about methodologies, which is more related to engineering or management than anything.
@Daniel: I agree, "CS is not a natural science, but it is definitely a science", and IMHO it can also be scientific in the applied fields. I think, for example, of new ways of knowledge representation for historians, where CS people have to deal with a different kind of solving problems than in engineering, for example. And, yes, computers are tools to solve problems with. 'Computer Science' might just be a poor term for what we are doing, as it were 'Telescope Science' for astronomy.
natural science
A branch of science that deals with the physical world, e.g., physics, chemistry, geology, and biology.
linguistics
The study of the nature, structure, and variation of language, including phonetics, phonology, morphology, syntax, semantics, sociolinguistics, and pragmatics.
mathematics
The study of the measurement, properties, and relationships of quantities and sets, using numbers and symbols.
Clearly, Computer Science falls between linguistics and mathematics, neither a "natural science". In fact one could almost classify Computer Science as a meta-science, in that it is far more concerned about the language in which one expresses a class of problems, than the solution of a class of problems.
Anyone know that it is the behavior (natural) of the simple slime mold that is the basis for all software programs, and systems sciences are really the set and computer science the subset, just as music is the basis or source of Life and color emits from sounds, as all ancients knew and practiced, and math and languages are subsets of music reflected as chaotic sync everywhere in nature, is musical intelligence?
The study of linguistics could have been expanded to prove that dolphins have a semantic language and are therefore intelligent, but outmoded paradigms prevented this from happening. My friend who proved it later was responsible for patenting an algorithm while working for Seagate, who ripped him off. Then the govt. paid him to create an ethernet so they could spy on us without anyne knowing. Of course, as engineers we must also be philosophers and wear many hats, as fredbernardwood.org proved.
Computer science is a social science. We try to simulate the real world. For example "handshaking" in information technology, telecommunications, and related fields, handshaking is an automated process of negotiation, that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins. It follows the physical establishment of the channel and precedes normal information transfer (http://en.wikipedia.org/wiki/Handshaking) this process is the same as when two people met for the first time.
Andi Bowe, I am interested to read more of what you want to say. It seems to me as if this thought is not finished. Please add more.
From nowadays point of view (mainly modern physics and quantum mechanics especially) the essential part of Universe reality is information exchange (any kind of information and any kind of third party). CS only slightly touch to the problem today, but the main discipline content is the study and implements of such kind process in different applications. We usually take attention only at the part of CS - applications, and not to the essence. My answer - Natural Science.
I think it is an 'applied science' that applies findings in e.g. physics and mathematics to construct practical applications for practical use. It involves the so called 'design science' or 'engineering science' that engages knowledge about the use context in order to be able to construct novel applications (the knowledge of physics, math or other natural sciences is not enough to construct something practicable).
@Mirja: I agree that CS (still) is an 'applied science'; in some areas it can also be theoretical, OK. I would like to know why you exclud; physics, maths and other natural sciences from being praticable. Do you mean, everybody who builds a mechanical tool, for example, must be a designer or engineer?
@Edward: Information will be much more explored in the coming years, I am convinced. Fifty and more years ago this was based on cybernetics. Where has this subject gone, actually? To CS or to mathematics? Relating future explorations, IMHO it will be physics that will be dealing with information as a universal feature and not CS.
Micael: yes, construction of a mechanical tool consists of design and engineering principles, rather than physics or mathematics. Yes, those disciplines are applied in design and engineering, but that doesn't make you a physicist when you design a device that applies gravity. Though of course, there's always a point where fields blur together.
With respect to the discussion on information- this isn't exactly the basis for computer science. As already discussed previously, part of computer science is pure mathematics (from process algebra to cryptography) and part of it deals with applications (networks, software engineering, databases, artificial intelligence, media informatics and practical security). Information was studied a lot in the past (see e.g. Shannon), and it can be important, but it isn't a fundemental theme in my view. Also, my impression is that entropy in physics is significantly different from the definition we know so well from Shannon (the foundation of information theory). Then again, physics is so bafflingly complex that I might simply be wrong here.
Very interesting questions, thanks to Clifford Miller!
1) do you consider natural science to be synonymous with physical science?
Physical science (in current state, conditions, level etc .. ) may be only only the part of natural science and are not the same, but only today, not forever (Newton's Natural philosophy as example). We shall take into account, also, that our nowadays science classification (i.e natural science ...) strongly depends from our current knowledge of every level (from empirical to philosophical) and those knowledge can be changed in near (or far?) future. The fact that this CS discussion shortly leads to the question 1) shows us that we talk about the same end entity, but from the different points of view. How we can name this entity?
2) do you consider computer science and information science are synonymous?
In real word we take part in a Great Game with structure of any kind (science, industry, we owns and so on) and there are, may be different, ways to understand the Game by the way of representation . Today we can see this Game only throw structures and its interplay ( culture? reality?). CS take significant part in this representation as symbolic case (are there any else? can we reduce this to Turing Machine only?). One of the participant in the 'de facto' standard representation ( paradigm ) we name information. We can arise additional question "Are there participants of any other nature?" We can only stress out that our Game observation may be realized in two ways only : outside (us a rule) or take part in The Game (decoherence or recoherence in QM physical terms) . Important to note, that we do not control which way of the both we use in particular case. And the measure of our standing apart is information. Can we to consider our standing away as self restrictions? Yes, of course! Can we use information outside Game while being tighten into the Game? Not, of course. (insider information - another case ).
Do you admit that only two simple questions throw us into deep cruel metaphysics? Are we in nowadays case of Newton time? I think, yes it is really so.
Let me return to the more than century ago and would one of scientists of the past being asked about "is the mechanics (soft science today) and physics (today CS) the same". What kind of answer would be?
Or in other side, would be your interlocutor surprised on your note that if the machine industry is social activities, then mechanics do not belong to the natural/physical science?
Compare, please with the phrase
"then computer/information science is not a natural/physical science but a soft science"
are you found any common?
I think your real question is "Is CS a science".
Being a natural science or not is not a matter of credibility. Mathematics are not a natural science either, and they have absolutely no credibility problem !
1) Computer Science is both a technology and a science.
IMAO, CS is a science. Even if an overwelming proportion of academic activity on CS domain is not about science but about technology. There is nothing to be ashamed of about this. This is the case of most of my personnal research.
Science answers to "what", "how", etc. Technology answers to "how to".
Most of papers in CS (including mines) are about "how to do stg" (of course, these paper have demonstrations of the co
Nevertheless, it is beyond contest that CS is a science. Theory such as Turing machine, algorithm such as A* (well, not the algorithm itself, which is a technology, but the proof of its convergence) are results of a scientific activity.
2) Computer science is mainly a pure science (not natural)
CS is not trying to describe a natural, and unknown phenomenon. When Turing created his machine, he was to trying to describe nature ; he was not trying to create a theory that would explain observations.
It was a mathematical theory (Turing was a mathematician)
Same for A*
Natural science activity is to create (probably false, but "true" or "false" is not really the concern in natural science) theory that describes what we observes. Nobody will never known what are really the rules that govern nature (except God if you accept his existence). The only reason why you think that an object fall to the ground when droped, is beacause, until now, every droped object has falled to the ground. The theory "when droped, an object fall to the ground" is only a summary of all your past observations, and you only expect that it will still be valid for future observation, although you can not be 100% sure of that.
Pure science, on the contrary, has nothing to do with nature or observations. When a pure scientist says "2+2=4", this is not a theory, this is truth ; if there is a God, even him could not contest that ! Pure science are a human invention ; it is OUR game. We invented "2", "+", "=" and "4" ; we (human) are the only one in authority to decide wether 2+2=4 or not. Nothing to do with nature.
Computer Science are more of this kind.
3) However, nowadays, computers have become so complicated that a part of CS activity is indeed ressembling natural science.
We are observing computers ; we do not anymore fully understand them (well, in fact, we do, but for some of our activities we behave as if we don't), and what we have in mind is not exact knowledge of the computer, but MODEL of a computer.
This was more or less what Oren Etzioni was saying as a preambule for his "Softbots" : computers are so complicated that it is now impossible to have a "perfect model" of them (and thus, they have become a correct playground for AI with uncertainty).
Short conclusion : CS is parly a technology and partly a pure science.
But things have become so complicated, that there is now room for natural science about computer
First of all, I suggest to demarcate science and discipline. There are many papers that have addressed this issue and explained the differences. Based on ontological, epistemological and methodological considerations, we can distinguish natural, formal, human, social and technical sciences. Natural science is the enterprise for an objective intellectual reconstruction of the empirically knowable (probable) reality. Computer science pursues a systematic construction of an empirically feasible (possible) reality. Therefore, it better fits the family of technical sciences (and their disciplines), though some of its parts resemble formal science or even social science. This is the reason why some believe it ifeatures heterogenous, rather than homogeneus knowledge and inquiry.
Dear Dr. Miller,
Thank you for your inquiry. I am working (doing my research) in the field of design science and research, having strong interest in both advanced computational support and science philosophical (ontological, epistemological, methodological, praxiological) issues. For this reason I am primarily interested in contrasting design science and natural and other sciences. In this context, I do believe that below papers give some bits and pieces to our understanding:
Gregor, S.: Building Theory in the Sciences of the Artificial, DESRIST'09, May 7-8, 2009, pp. 1-10., end the extended version of the paper entitled: Theorizing in the Sciences of the Artificial.
Cross, N., 1993, Science and design methodology: A review, Research in Engineering Design, Vol. 5, No. 1, pp. 63-69.
Altshuller, G. S., 1984, Creativity as an exact science, Gordon and Breach Science Publishers, London.
Horváth, I. and Duhovnik, J., 2005, Towards a better understanding of the methodological characteristics of engineering design research, in Proceedings of
ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, September 24-28, 2005, Long Beach, California, USA, pp. 1-14.
Willem, R. A., 1990, Design and science, Design Studies, Vol. 11, No. 1, pp. 43-47.
Horváth, I. A treatise on order in engineering design research. Research in Engineering Design, 2004, 15(3) 151-185.
March, S. T. and Smith, G. F. (1995) Design and natural science research on information technology, Decision Support Systems, Vol. 15, No. 4, pp. 251-266.
I did in the past came across with many papers that contrasted, e.g. science and art, science and religion, science and technology/engineering, science and authority, etc., but they were either too general, or committed to something, or both. More importantly, they are somewhat outside of my domain of interest. For these reason they are now at the bottom of my 'digital' pile of papers.
With regards,
I.H.
Natural Science is an interdisciplinary life sciences major, with courses in biology, chemistry, mathematics and physics. It includes every invention.
Computer science is a part of it and works in logical inventions, which work on computing solutions for defined approaches.
Computer Science is not Natural Science but it falls in the category of Applied Science
Dear Dr. Miller,
I very much resonate with you. You wrote: “Is the question "Is xxxxx a science" the appropriate question? It has become important to many that their field of study is termed "science", and “We have many valuable fields of systematic methodical study which yield useful knowledge which can be applied in the real world.” My argumentation is as follows: I see science not only as a manifestation of a historically evolving societal phenomenon, but also as a societal architecture (establishment). First of all, my observation has been that the term 'science' is used in multiple meanings and often overused or even misused. I have identified at least three major interpretations of science: (i) philosophical: Enterprise of human intelligence to produce empirically and rationally truthful knowledge by systematic and rigorous inquiry, (ii) taxonomic: Branch of inquiry and knowing organized in a systematic manner (iii) functional: The discovery, identification, observation, description, experimental investigation, theoretical explanation, forecasting, and control of phenomena. Then, we have learnt that the ‘body’ of science decomposes not only to branches, but also to disciplines. A (scientific) discipline is a field of study (a subject area) within a particular branch of science with specific focus, interest and objectives and with often arbitrary and ambiguous distinguishing lines with regards to other disciplines. A discipline: (i) has a world view, focus of study and foundation for practice, (ii) has a set of reference disciplines used to establish itself, (iii) pursues an active theory development and validation agenda, (iv) has a knowledge base distinct from that of other disciplines, (v) promotes principles/practices associated with the discipline, (vi) provides intellectual platform for interaction between the professionals, (vii) is engaged in the deployment of education and promotion of professionalism, (viii) and establishes conferences, journals and books for knowledge dissemination. I think there are disciplines of knowing that are not strictly scientific, yet produce reliable and useful knowledge for our society. For instance, within the so-called computer science or information science there exist disciplines that are more scientific, or less scientific, than others. The former disciplines produce more generally valid and context independent knowledge than the latter ones. Nevertheless, the more specific and context/application oriented knowledge generated by the specific disciplines can be correct and useful. But my main point is that both are necessary, otherwise we will not be able to solve practical problems, only provide beautiful theories.
Dr. Miller,
Would it be possible for me to get a digital copy of the paper you mentioned in the first paragraph above? I am sure I will read it with a great interest. Thank you.
I.H
Computer Science cannot be categorized as a Natural Science, as Natural Science is based on natural findings, where as Computer science is based on mathematical formulas and applied scientific findings.
The original question was "Is Computer Science a Natural Science?" and there was no opposition to call the mathematical and algorithmic work leading to and applying to computers would be called Computer "Science". So, I assume the general attitude is (or was) that it is (some kind of) science.
Now, @Imre Horvath and @Clifford Miller turn the discussion to the general term "science". To understand your point a bit more: Do you hold it that only the hard "Natrual Sciences" can be called "science", thereby denying the existence of "Applied Science"?
@Richard Greene, on the other hand - and if I understand his comments correctly, seems to envision a whole bunch of sciences, including dating science, when he says: "So though some people may claim science itself is subjective, when tested it actually works."
As a physicist I am more inclined to his example of Wernher von Braun, who applied natural sciences (a lot of physics, chemistry and biology) together with his NASA staff to make something possible that most people thought was not. He did not dare to talk about "Rocket Science".
Both ways of accomplishing something used some sort of science (natural science or statistics). I think of these examples (dating and moon) more of projects not of science. The endeavour of bringing humans to the moon was of course the biggest project of its time. Dating might turn out to be most important one for the Western world if we look of our reproduction rate, though. So, science or not, it is worthwhile undertaking.
Computer science is not natural science. Living organisms do a lot of computation things but the mechanistic basis is completely different from what programmed comps do.
I agree with Michael point that original question was to clarify is CS science.
Let’s try to define to define about what we are talking about. Namely in 2006 the Joint Task Force of the Association for Computing Machinery (ACM), the Association for Information Systems (AIS) and the Computer Society (IEEE-CS) defined “Computing” (http://www.acm.org/education/curric_vols/CC2005-March06Final.pdf) as: “In a general way, we can define computing to mean any goal-oriented activity requiring, benefiting from, or creating computers. Thus, computing includes designing and building hardware and software systems for a wide range of purposes; processing, structuring, and managing various kinds of information; doing scientific studies using computers; making computer systems behave intelligently; creating and using communications and entertainment media; finding and gathering information relevant to any particular purpose, and so on… we must think of computing not only as a profession but also as a DISCIPLINE… and it defines five sub-disciplines of the computing field: COMPUTER SCIENCE, Computer Engineering, Information Systems, Information Technology, and Software Engineering.”
From my point of view (I am mathematician who entire career works in the Computer Science) the CS is science, discipline of Computing, which is in the cross-section of pure science and technology.
Dear Clifford Miller, thank you for the answer, which I appreciate very much. I especially agree with your answer ("no") to the question and the issue you have with that answer.
Here in Thailand, people are rather pragmatic, so "science" on Thai soil may show sometimes a quite distinct manifestation. At our university we have two departments dealing with computing, one being at the Faculty of Science (yes, sharing some amount of praise imposed on scientific work) and another being the Faculty of Business, Economics and Computer (the applied faction).
Since the original question was whether or not computer science was a natural science, we can conclude that it is not. The scientific method tells us to make our findings reproducible. How can we do this without sharing not only data (undertaken in the Open Data communities) but also the code we used to gain and work with them? There has been an interesting talk about this topic by Victoria Stodden recently.
https://www.youtube.com/watch?feature=player_embedded&v=zJ-UxoiGSJM#! (comes to the point after about 4 minutes)
Computer science definitely has compontents from science, though. There is a mathematical aspect to computer science, but a large part of computer science also focusses on techniques we know from the social sciences (user studies, interface optimization), management-oriented studies (e.g., software engineering techniques, security management) and natural sciences (lower-level communications, biometrics, some networking).
If we take physics as "The" example of natural science, consider the following. In physics, scientists develop theory (i.e., theoretical physics, a lot of which seems to be based on pure mathematics), which is validated by experiment (as soon as engineering has caught up to allow for such an experiment). The ultimate goal would be to develop a complete mathematical model of the universe. Of course, there are therefore theories that are currently out of our reach (say, string theory, at least according to wikipedia). My first question would be, is that still science? My answer would be yes, so I'll contintinue with that assumption.
In computer science, we also develop theories. We have the Turing machine, the Shannon theory of information, we have the CAP theorem, we have theories on processes and concurrency, information flow models and so on and so forth. These are all mathematically sound theories, just like in physics or cryptography. The second question is: do we also have experiments? This question is more difficult to answer. Some theories are simple facts or bounds -- things that are (im)possible, but others allow for more uncertainty. Especially in the field of networking, we have no viable mathematical model that allows us to abstract away from the transmission medium. Transmissions are therefore always lossy in nature (with a capacity defined by the Shannon limit). We thus encounter the same issue (modeling a noisy system). The same applies to other sections of computer science, like embedded systems.
Does this make computer science natural science? No, and I'm not claiming it is. It is definitely a science, however, and it shares significant overlap with mathematics, natural science and social science. I am saying that computer science is more than pure mathematics -- the joke that computer science is just mathematics for lazy people is funny, but not really accurate.
Of course, CS is a natural science as it is interconnected with all the concerned branches of natural as well as physical sciences. So it should be treated as a natural science
Just to push this a little more there is a good argument to be made that computer science is not a "hard" science or even mathematical discipline at all. Computer science is a social science in the sense that while it deals peripherally with machines, and is studied mathematically, the purpose of CS is to create linguistic means to express problems and actions. It is all about human ability to understand and express - to one another as much as to a machine.
Of the examples given, the Turing test and Turing problems really have to do with describing human behavior mathematically or mechanically to a degree that allows us to simulate that behavior. Shannon and information theory really have to do with particular mathematics and transmission of information - little with the mainstream of CS, except where we're dealing with program transcription errors, a small set of specific algorithms.
Computer Science is epistemology and linguistics, the pedagogy of expressing specific kinds of problems and actions.
I believe an epistimelogical landscape could describe computer science as a subset of systems sciences. Did you know that the behavior in nature of the simple slime mold is the basis for every software program? Perhaps we might consider that i am director of CSIRI.ORG, carrying on the vision of Dr. Wood, its first founder. This was his name: Computer social impact research institute. Why did he found non-profits such as this one and ISSS and ERS?
What about the fact that only in a static universe realm unaffected by the observer is validity measured by repeatability? In reality, the universe model I embrace is muable and subject to the belief system of the observer. All is wave form until there is an observer, then there manifests a particle. Plank's constant is quantum flux limiting time travel or just another lens looking at another piece of the same elephant.
I disagree with the proposition that Computer Science does not have its own well-formed theory.
The Church-Turing thesis and the Turing machine are our "model of reality", just like models of relativity/gravitation/whatever are models of reality for physics. Upon this model of reality, several well-formed theories, each aiming to answer different questions, emerged: Computational complexity theory, concerned with the inherent difficulty of every computable problem, computability theory, concerned with finding out what is and what is not computable, and there are many others which I can't quite think of right now.
@Andi Bowe the soul of a poet - but put salt on it's tail - nail down the epistemology of CS. This is a question of the academic and politic, which demands that a border be but on a discipline.
@Fabricio Kolberg I believe CS has it's own field of study - but unified or well formed theory? Something objective and separable from the human perception of problems?
I disagree with the view of Computer Science as "not a hard science" because computational complexity theorems are hard results, not soft and subjective.
Computational complexity theory is based off definitions, theorems and proofs, and therefore, it is a branch of mathematics. I don't see how you could possibly say it's not a branch of maths.
The issue is not that parts of computer science are not math, it is that the whole of computer science is not a natural science. Computer science isn't purely math either (sofware engineering, human/machine interfaces, security and many other subfields are applied math, at best). It's a distinct field, and that's fine - as I pointed out, there isn't much to gain (at least, intellectually) from pointing at computer science as a natural science discipline, or a mathematical one for that matter.
Computer science is not a natural science or basic science like physics, chemistry and biology. Computer science is for computing the data through various type of algorithms and frameworks. The data which is the information of basic science.
I fully agree that Computer Science is a natural science but an application of well established mathematical formulas.
Computer science is not a natural science for the same reasons math is not a natural science (it is about abstract entities rather than natural entities), but, like other people stressed out, computer science is not exclusively about math either.
I believe "computer science" is more of an umbrella therm for all computing-relevant fields in science, in mathematics, in engineering and in philosophy than an establised discipline on its own right, because there are far too many fields in CS whose research methods are radically different from each other, and it's strange to call them all the same discipline.
For instance, I don't see any relationship between Human-Computer Interaction and Computability Theory. One of them is studied as an experimental social science, while the other is studied as a deductive mathematical field. Then there's also Operating Systems design, which is very solid and sound engineering, and things such as the Epistemological research in AI, which boards on philosophy.
Calling CS "only engineering", or "only science", or "only math" is being short-sighted. There are far too many things going on in computing in all imaginable fields of knowledge.
I fully agree with Rens van der Heijden.
CS has two branches. The first deals with the theoretical aspects of "computation" and "inofrmation". As such it is a branch of Mathematics and should be catagortized similar to mathematics (where there are known debates if it should be considered "science", "natural scinece" or "humanistics").
The second branch of CS deals with the process of creating good programs. As such it deals with issues that are close to industrial engineering questions phrased in the special industry of "Programming", i.e. requirements definitions, OO, testing and the like. This branch should be categorized in the a similar shelf as that of "industrial engineering".
As a department in University it should be put more close to the "engineering" schools. Foe me this is mainly an emotional issue and my opinion here is based on personal emotion rather than "hard" arguments and facts.
I suggest also people to read the computing machinery and intelligence by Turing. Then, you can trace some history of computing and information systems documentary by Jim Al Khalil of BBC4. IMHO they give some perspectives about computing machineries. Also there is Michio Kaku who in one of his comments he thinks a human being is a well evolved computer and so on.
I think computer science is not natural science,computer science do not involve empirical procedures .They also do not presuppose knowledge of contingent fact, or describe the real world. Computer science is formal sciences were both logically and methodologically a priori,for their content and validity are independent of any empirical procedures,
Computer science is applicable in all domains and useful in all empirical sciences.
I agree with Monther. What are valid predictions made by CS that are not purely mathematical or involve man-made machinery? Mathematics is not natural science, although it is used there as an important tool. The same holds for engineering (machinery, so to speak).
.
@michael, monther
interesting views which bring us back to such topics as "computation as a physical process" (Szilard, Landauer, Bennett ...) or "information-based reconstruction of (part of ...) quantum theory" which deeply connect information (the "prime element" of CS) and physics (which I consider a "natural science", however theoretical it can sometimes be !).
a good simple starting point :
Information physics -- Towards a new conception of physical reality
Philip Goyal, Information 2012, 3, 567-594
Abstract : The concept of information plays a fundamental role in our everyday experience, but is conspicuously absent in framework of classical physics. Over the last century, quantum theory and a series of other developments in physics and related subjects have brought the concept of information and the interface between an agent and the physical world into increasing prominence. As a result, over the last few decades, there has arisen a growing belief amongst many physicists that the concept of information may have a critical role to play in our understanding of the workings of the physical world, both in more deeply understanding existing physical theories and in formulating of new theories. In this paper, I describe the origin of the informational view of physics, illustrate some of the work inspired by this view, and give some indication of its implications for the development of a new conception of physical reality.
available on line :
http://www.mdpi.com/2078-2489/3/4/567
.
Goedel's theorem proves that there are true statements which may not be proven, not that mathematics are "incomplete". This doesn't directly imply that there are untrue things which are not disprovable. For the most part though I would only be concerned if a correct "proof" was not adequate to identify a truth.
I believe in its application rather than its origin. Then again putting it where it originated plays a vital role.
My university has department of computer science in the College of Sciences where there are natural sciences like pure biology, physics and chemistry. I am a Computer Engineer and I look towards it from computer engineering perspective.
Computer Engineering came from Electrical and Electronics Engineering. Mathematics has always been there for everyone. The development of software where there is massive application of mathematics gave birth to computation (computational theory). There was a new platform where there were various methodologies to discover. People could not put it as computer engineering because it wasn't limited to computers.
And computers are just helping do the maths for natural sciences.
I think it can not be categorized as natural science because it is not the study of something existing. It is a mixture of maths, science and engineering and in my opinion it is more closer to Engineering.
In general terms all inventions are discovery, so computer science could be considered as natural science. From practical viewpoint, it is more of an engineering category.
I agree with Zhiyue. I am not sure where is the line that separates science from applied science or engineering and from mathematics. In any case the computer itself is an engineered product, and people working in computer science write recipes on how to use this product for various fields. I think that IT is a much more suitable term for the field....
In my experience atleast in Europe it is not.
Computer science comes under faculty of informatics/Mathematics....
.
about mathematics and computer science, from the introduction of the landmark book “Structure and Interpretation of Computer Programs” by Abelson, Sussman and Sussman
‘Underlying our approach to this subject is our conviction that “computer science” is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology — the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of “what is.” Computation provides a framework for dealing precisely with notions of “how to.” ‘
by the way, this wonderful book is available on line :
http://mitpress.mit.edu/sicp/full-text/book/book.html
.
See .. very Good Afternoon. i am taught like.. nature means it is strictly not designed and developed by man. to my surprise, man is a biological development of nature and it can be viewed as natural science development.
but a computer is designed and developed by a man and there is no self reproduction as such now. if suppose in future if two computers biologically unite and produce new offspring then we may confirm that it is a natural science.
Dr. J.komala lakshmi, [email protected]
Dr. Soundararajan, though neglecting a couple of things, your comment is really interesting and thought-provoking. You have made an exciting point for philosophers and futurists. What will happen with self-reproducing systems? Will they be part of the natural world, or the human engineered world? Luckily, we still have a couple of nights before this era comes ... . Until then, we can still focus on the ontological and epistemological nature of computer science.
COmputer Science is purely part of social scence. For furthur information please visit www.achangeiscoming.net/docs/cssocsci.html
I would try to defend the idea that Computer Science is a natural science albeit of a more composite nature, as quite correctly Rens points out: indeed some of its methods are mathematical but this happens also for physics and more recently for chemistry as well. Machine Learning and computer simulations are really setting up experiments run in silico, neither in vitro nor in vivo, which still are truly and well experiments, albeit often driven by a modelling and algorithmic logic rooted in mathematics .
Experimental results can confirm, at least pro-tempore, or falsify the computational mechanism. Moreover "quantity turns into quality" as a german philosopher used to say 2 centuries ago: nice theoretical results in graph theory have an absolute value but the algs you can derive from them do not scale up to the hundreds thousand nodes of a social network leaving the field to the whole array of machine learning and stochastic tools: Analysis of centrality or influence become an experiment in natural sciences terms. Also the design of composite computer systems, e. g. servers for market interactions, draws increasingly on tools from microeconomics e.g. game theory whose validation can come only from large scale testing.
Therefore even if some of the cornerstones of CS are truly mathematical ,a growing a part of CS methods and results relies more on an experimental approach than a formal proof to assess their value which makes for a strong argument that CS is a natural science.
@Clifford Miller:
If you really think CS is limited to problems such as implementing software to open doors, I believe you don't comprehend the full spectrum of the discipline.
Study some Theory of Computation, Algorithm Theory, Computability Theory, Complexity Theory and maybe some Computational Science, then you might have a broader vision.
@Fabricio: Engineering is also a very broad field, and it managed to send unmanned and manned vehicles for space exploration, but it is not considered 'science' but 'applied science'. There is a strong tendency today to call anything 'science': social sciences, political science, etc. I am not trying to compare computer science to humanities, but in my humble opinion it can be classed as applied mathematics. I work in materials engineering and I am not sure whether I am a material scientist or engineer...but ;materials science; is not a recognized field of science either. The recent Nobel Prize in Chemistry was given to a material scientist. Nobel prizes in Economics are often given to mathematicians. There is no shame in being involved in a multidisciplinary field such as Computer Science, but at the end of the day, it is still applied math. Your naming of the various disciplines in this field only make it more clear that this is what it is....
IMHO that if some field research also takes inspiration only somehow by nature, it can be considered as "natural."
"I am born biologist" and now I work in computer science, in the field of in silico-biology , and I often bump into computational methods defined Natural Computing, whose definition of wikipedia leaves no doubt about it. http://en.wikipedia.org/wiki/Natural_computing
Well, my point is not that CS is a natural science, because it really isn't. My point is that CS has a lot of discovery-driven research, and therefore not all of it can be called engineering.
I refer to Daniel Page's answer, which is the best explanation of what I think about the field.
While striving after a definitive (whatever it means) answer to the question what kind of science computer science is, I think we also have to consider what Abelson, H. and Sussman, G. J. argued about in their book entitled Structure and Interpretation of Computer Programs (MIT Press, 1996, second edition). According to them, 20th century computer science was striving for a “procedural epistemology” (while computing was trying to use and exploit procedure as knowledge). It seems that now, at the beginning of the 21st century, we have arrived to a junction. I think in the coming (not too many) decades, computer science will be engaged with seeking an "information epistemology" as well as a "system epistemology". These may operationalize computing in a completely different way: computing will be an integral (synergistic) part of holistic systems. Whichever way it goes ahead, this new “computer science” will get closer to studying phenomena that are associated with nature, but also with social formations and engineered socio-technical systems. "Computing" (again whatever it means) will be ‘just’ part of systems, without its own ‘teleology’. As systems are becoming parts of the fabric of the natural, social, technical and/or cognitive worlds, informing is becoming much more important than information, and information is becoming the means of having order, rather than that of communication (as described by Shannon). Information that resides in physical, biological, social, human, and engineered systems will be addressed in a comprehensive and holistic way, and that will drastically influence “computing” in systems, such as next generation cyber-physical systems. Putting all these together we can forecast that the already observable trend of (possible and probable) systems evolution will take us back to the investigation of natural physical, biological, social and human phenomena. Having these, and many more, thoughts in my mind I do not think it is wise to take any firm position. It will be temporary. I am very much sure that 21st century "computer science" will subsume "procedure" as a foundational concept, but it will also extend it with the also fundamental concepts of "information" (informing) and "system" (adaptation/evolution), considering their dialectic relationship with both natural (physical, biological, social and human) and created environments. Does it mean that 21st century computing will be an epistemology of non-linear systems with cyber physicality? Perhaps. Probably. We do not know.
Absolutely not, and here's why:
Take any natural science.
Physics - You take Physics 101 - Same physics course you would have taken 40-years ago. Even if you want to study neutron starts and black holes, you need physics 101.
Chemistry - you want to study some esoteric design of plastics or even drug discovery, you start with Chemistry 101 - Inorganic Chemistry
Biology - Everyone starts with BIo 101, though I do admit, it appears to have changed a bit over the years. However, if you decide to go to medical school, what do they want: bio 101.
Now, computer science. You take Computer Science 101. However, there's a BIG difference. There is NO past. Current curriculums teach as if NOW is the starting point. When was the last time anyone talked about file systems? FORTRAN or COBOL? Mainframes? While it could be argued that all of this is "ancient" (similar to why nobody talks about ancient Egyptian language or in many cases, Latin), fact remains that Computer Science 101 is targeted to "now", unlike the natural sciences.
Just my take.
The natural sciences are those branches of science that seek to elucidate the rules that govern the natural world through scientific methods.
Science is the reduction of the natural world to mathematical description.
Computer science is to mathematics what engineering is to the natural sciences.
Joe Trubisz has a point, but this is not really why computer science is not science. As several people have pointed out, science tries to reveal the secrets of nature, the theories that rule nature. What we define today as science took many years of human effort. Now, it is true that nowadays, because of the advent of computers there is a faster progress in science as well. But computers are man-made, their logic can mimic that of nature, but this does not make the field 'science'. It does not reveal any of the nature's secrets, all it does is help developing better computer programs and better computers. But where would computers be without developments in microchips that are all in the fields of solid state physics, electronics and material science?
Joe Trubisz: You're confusing Computer Science with Programming, which is a mere application of Computer Science.
Computer Science has a lot of historical, non-obsolete knowledge, departing from the Church-Turing thesis (1930), going into the Cook-Levin theorem (1971) and many other mathematically provable principles under the deductive systems used to analyze universal properties of algorithmic processes, all still relevant to this day. What is usually considered "computer science" by the general population is nothing short from extremely narrow applications of CS.
Computer Science is concerned, on one side, with matters like algorithm theory (what are algorithmic processes, what problems can they solve), computational complexity theory (mathematically formalizing how efficiently problems can be solved), computational model theory (what models best represent certain kinds of algorithmic processes) which are all studied with mathematical rigor (deductive systems, theorems, proofs) and therefore the results never become obsolete.
On the other side, CS is also concerned with artificial intelligence (how well can algorithmic processes simulate intelligence), formal methods (how can we apply logic to solve practical problems involving computers) and applications to programming and computer design. The former fields adopt an engineering methodology (departing from a set of rules to build an application and test it), but are not constrained to the "here and now" either, since these fields also have a lot of theoretical concepts that date from many decades in the past. One could name the A* search (1968) and neural network principles (1943) for AI, Hoare logic (1969) for formal methods, BNF (1959) for programming languages and the Von Neumann general architecture (1945) for computer design.
Rafael Manory: Like I stated above, computer science is not simply a discipline that allows us to make better computer programs or better computers, it is much wider than that, expanding human understanding about the general properties of algorithmic processes.
Saying that all CS does is help us build better computers and computer programs is like saying that all physics does is help us create better machines.
While I appreciate the comments of others who disagree with my CS assessment, I can say with fairly high confidence that a vast majority of CS "theory" courses that universities teach rarely (if ever) get used in the real world. Having been in the business for 45-years, I have to admit that much of what was stated was "good at the time I took the courses, but had little, if any use thereafter". I'd be willing to bet that if you were to do a survey of this topic, there are not too many people (outside of academics, which I was part of) who would disagree.