Talk:Computer science/Archive 5

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Disputed

Definition

This article is disputed for accuracy. Please keep the conversation focused on the dispute. — Dzonatas 12:45, 20 January 2006 (UTC)

I did not find a source for this definition:

Computer science is the study of information and computation.

Please, be in accordance with no original research. — Dzonatas 12:45, 20 January 2006 (UTC)

I have provided 7(!!) sources. There is no standard definition, but the current one is consistent with those sources, while the single one you provided is not. —Ruud 13:59, 20 January 2006 (UTC)
Seven (7) sources!! Can you provide one that tries to simply define computer science, and use it? Otherwise, you have made your own interpretation, and that is original research. — Dzonatas 16:15, 20 January 2006 (UTC)
  • [[1]] 3rd paragraph, page 2. "CS refers to the intellectual endeavor to gain a fundamental understanding of phenomena related to computation"
  • [[2]] "Computer science is the study of computation"
  • [[3]] "Computer science is the study of computation"
  • [[4]] "Computer science (...) is the study of computation"
  • [[5]] "Computer science is the study of computation"
  • [[6]] "Computer Science is the study of computation and its embodiment in artifacts."
  • [[7]] "While computers are the most visible feature of computer science, it would be inaccurate to define the field entirely in terms of machinery. A more descriptive definition would be to say that computer science is the study of computation. The term computation denotes more than just the machinery, it encompasses all facets of problem-solving, from the design and analysis of algorithms (step-by-step instructions for accomplishing specific tasks), to the formalization of algorithms as programs, to the design and organization of computational devices for executing those programs."
  • [[8]] "Computer Science is, simply put, the study of computation."
  • [[9]] "Computer Science is a poorly named field, and I and if you ask 5 computer scientists to define their field, you'll get six different answers. It surely is not the study of the "computer," the tool we use, but it is perhaps a study of computation."

Need any more on that one? Where are your sources? --bmills 17:41, 20 January 2006 (UTC)

Dzonatas is under a serious misapprehension of the "no original research" rule - it is intended to prevent the introduction of unverifiable assertions of fact. Textual composition is always allowed to be original, and indeed we prefer original text over copyright violations. Something like the "definition of computer science" is intrinsically somewhat vague, and so we are free to compose something that makes sense to readers in the context of WP. Stan 17:52, 20 January 2006 (UTC)

I noticed the selection of sources above that only show a emphasis on "study of computation." We can easily google for more publications that have an entirely different emphasis on computer science. Some sources include depth while others are shallow. — Dzonatas

  • [10] "modern computer science had been committed primarily to the investigation of "the extent and limitations of mechanistic explanation" (von Newman about Turing's work, in Copeland 2004, p. 3)" - in cooperation with the ACM, one of three philosophical views on computer science
  • [11] "The formal concept proposed by Turing is that of computability by Turing machine." - The Church-Turing Thesis, Stanford Encyclopedia of Philosophy
  • [12] "Computer Science is Really a Social Science" - Microsoft Research
    • this includes of further interest that nails why the "study of computation" alone is not good enough: "but industry expresses a belief that new college graduates don't have the right skills in terms of abstract thinking or exposure to important concepts such as security and maintainability."
  • [13] " Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation." - Theoretical Computer Science
    • This demonstrates that the article as it exists to define "computer science" as "study of computation" would be perfect if it was moved to an article titled "theoretical computer science".
  • [14] "Computer Science is all about getting things done, to find progressive solutions to our problems, to fill gaps in our knowledge. Sure, Computer Science may have some math, but it is different from math. Computer Science is about exploring the limitations of humans, of expanding our horizons and having some fun at the same time." - distinction from Theoretical CS.
  • [15] "Computer science is the chief discipline for teaching engineering principles and the tools used in software applications development."
  • [16] "In other words academics are doing a fine job of replicating themselves. But the majority of graduates will be looking for jobs as software engineers..." - What's wrong with the standard undergraduate computer science curriculum
  • [17] " The study of computers, including both hardware and software design." - webopedia
  • [18] "Computer Science is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed in genes and protein structures in a human cell. The fundamental question underlying all of computing is: what computational processes can be efficiently automated and implemented?" - boston university
  • [19] "Computer Science is the study of algorithms and of data structures in terms of theory, analysis, design, and implementation." - haverford computer science
  • [20] "Computer science is the management of complexity in the construction and analysis of systems."

These all seem to make a substantial difference between "the study of computation" and "the study of the nature of computation" A difference that is notable. — Dzonatas 03:26, 21 January 2006 (UTC)

OK, so you've demonstrated that there are many different definitions. How are you going to pick just one of them without doing that dreaded "original research" or violating NPOV? You can't pick all of them, you can't pick and choose just some of them, you can't pick one of them, and you can't pick none of them. What are you going to do now? Stan 03:35, 21 January 2006 (UTC)
An interesting array of sources, to be sure; however, most of them strongly relate to the study of computation, and most don't actually provide a definition — just a description.
  • The first discusses CS from 1936-1969 (please read context, not just select fragments). The article goes on to describe software engineering and software science, but doesn't ever define modern CS except to say that it is a mathematical activity -- not a definition so much as a description.
  • The second refers to computability theory (the narrow field), not computer science.
  • The quote from Microsoft Research says, essentially, that some schools are teaching only programming and not the more diverse aspects of computer science.
  • Your fourth source discusses theoretical CS and the fact that it is strongly tied to computation. It does not say anything about whether applied CS has anything to do with computation — absence of evidence is not evidence of absence.
  • The fifth source is from cprogramming.com (a decidedly POV source to begin with), but it's surprisingly non-POV. It does not attempt to provide any formal definition (the tone of the article is promotional rather than informational), but even if it did, that article emphasizes computability. From the same source: "Ever since Turing formulated this extraordinary concept, Computer Science has been dedicated to answering one question: 'Can we compute this?'"
  • The sixth source (IU SE) never actually says what CS is, just that CS is the means through which one learns software development. No one is claiming that software development is not included in CS; my claim is that CS is more than just software development. See the second paragraph of the section labeled "theory and practice" — IU SE is precisely one of these schools.
  • The seventh source (Philip Greenspun) never attempts to define CS; he simply laments the fact that not all CS graduates are software engineers. This tells me that a definition of CS that restricts itself to software engineering is inappropriate; but nothing in the current definition precludes software engineering from being valid CS.
  • Webopedia is an ad farm for online classes, and targetted mainly at IT workers. Not a reliable source, as far as I'm concerned.
  • The BU definition reads as though it were written by a focus group. It's way too big for a normal-person's encyclopedia, but thankfully the question at the end gives us clarity: "computational processes"
  • The Haverford definition talks about algorithms, which are inherently computational, and data structures, which are needed to implement algorithms. It follows up with a series of three questions, one discussing algorithms and one discussing computation.
  • The one-line BRICS summary is interesting, but the rest of the article is about semantics of computation, algorithms, and mathematical logic. The Curry-Howard isomorphism tells us that logic and computation are intimately related; so we're left with computation, algorithms for performing computations, and, well, computation. - bmills
I've read your comments, and I disagree with your intrepretation. This word "computation" seems to behold you and others. It is a significant words that describes the means of only one of the products, or one end result, of CS. A quick google for definitions of computation shows tried to relate to computation is not true. The word to emphasis is "computational processes", which in no way is a subset of a "computation" itself. For example, we do math by hand, the hand movement, the written structure, the language system, the optical recognition, are all part of the process, but they are not part of a "computation." If the process is meant to effect a computation, it is then a "computational process." The distinctions in the above citations make this clear. — Dzonatas 14:28, 21 January 2006 (UTC)

The common threads among the articles, taken in full context, are computation and computability, with other things that relate to it (especially programming). So it makes sense to have computation in the very first sentence, and then have some additional sentences explaining the many ways that CS approaches computation &mdash as a thing to be studied (computability & algorithms), a thing to be implemented (programming), or a means to some other end (graphics, AI, applications, etc.). And that's exactly what we've got now. --bmills 05:07, 21 January 2006 (UTC)

That is your POV. That is a few other's POV. It is not a neutral point of view. Do you program a computer and expect it to complete that program for you? That is what you suggested above. That we juse use the word "computation" and expect the rest to be automatically handled. If we just use computation, we could replace it with a more vivid definition: "CS is the study of finding a solution to a problem from given inputs by means of an algorithm." Really, that is icing on the cake -- cream of the crop -- point of view. There are those that have obviously swept computability under the rug.
If we used "CS is the study of computational processes" rather than just "computation," we would be at least one word closer to an agreement. However, that itsn't enough. It doesn't cover, for example, maintenance, security, or computability. Even "the study of computation" doesn't cover maintenance, security, or computability. Pragmatic knowledge shown in the above citations, like the microsoft research, proves it. — Dzonatas 14:28, 21 January 2006 (UTC)
The implication of the first paragraph in the above reply is that other people's POV are not NPOV while yours, in your own words, are "the icing on the cake -- cream of the crop -- point of view". I am unable to see how neutral that POV is.
Let's put this in perspective. Let's assume there is a term "mathematical science". It's current definition is calculation. A proposition is for it to be a study of calculational processes. Both terms are well-defined, with the former relating to the base form of the core of "mathematical science" while the latter is the expanded version. Is there a need then to replace all versions of the former with the latter when they are nearly interchangeable? For the sake of this article, we could add the latter as an explanation but clearly, there is no need for a debate over either.
We need not argue in absolutes, there is always a relative solution. I read a statement from you regarding this as a solution (although not to your preference, then please see above). It is best if all parties accept it then. -- Evanx 15:46, 21 January 2006 (UTC)
That "icing" bit was not meant in that way. What is meant is that the end does not justify the means. In which the end is the computation. If "computation" was really the main focus, than an analogy to astronomy would mean astronomy is the study of photography. Sure, one could further add to that in a second sentence and describe the approach to photography with light from outerspace. This, however, puts the cart before the horse. — Dzonatas 21:22, 21 January 2006 (UTC)

There are many examples of non-formal educational aspects of computer science. The article seems to exclude those aspects in favour of only formal educational bias. While it seems honorable to only mentional formal educational routes, it censors mainstream computer science. Please, find a source for such comments. — Dzonatas 12:45, 20 January 2006 (UTC)

Science is formal. If there are so many examples, please name some, instead of keeping things vague as usual. —Ruud 13:59, 20 January 2006 (UTC)
Here is one: Microsoft. Not founded by a computer science college graduate. Their many products, however, are used in your formal education. Ironical to your point of view, it simply justifies this article's need more neutrality. — Dzonatas 16:15, 20 January 2006 (UTC)
Your original comment is very vague and it would be appropriate to suggest alternatives instead of simply asking for sources. In the present, it is highly customary or even expected, to obtain some form of education in a field of computer science, regardless if it was a college, university or certification based programme. I find it highly incredible that a generic individual without the abovementioned, could seek employment or find credibility in the society of today. Although there are marked examples, as you have pointed out a classic case, they are few and far between. Evanx 23:17, 20 January 2006 (UTC)
You don't have to have a degree is CS to participate in CS, especially considering that at the time Bill Gates was in school there weren't many CS programs. Microsoft produces software that performs computations. Also, the opening paragraph (as it currently stands) specifically refers to computer programming as a sub-field of computer science. --bmills 17:45, 20 January 2006 (UTC)
Why even insert the POV that there are sub-fields of computer science? That sentence would work great in an article about academic fields of computer science, but not in one that tries to describe computer science itself. If you make the article list all these sub-fields, does the reader then have to attend every sub-field to finally understand what computer science is? Or, do you suggest, by POV, the reader only attend a select set of sub-fields so they will have the exact same view on computer science? Back-up, lets get down to earth and describe computer science without any relation to sub-fields! I am positive it can be done. — Dzonatas 03:59, 21 January 2006 (UTC)
The fact that not all computer scientists perform all the same tasks is not a POV; it is a fact. Even real-world programmers have specializations — you don't see professional compiler writers hand-optimizing OpenGL games. The academic fields of computer science are a part of computer science, whether you like it or not; moreover, academic fields actually do map onto some real-world careers (others have careers that are only available in the context of research labs, like Bell Labs or Google Labs, or in academia). OS specialists write operating systems, robotics specialists program robots, and networking specialists write (and/or improve) networking protocols. Honestly, I wasn't particularly happy with the article as a list of sub-fields and I appreciate your edit moving them to another location. I think it really helps focus the article, rather than distracting the reader with a particular sub-field (be it programming, operating systems, or my personal favorite — type theory) that can be better understood by reading another article anyway. The point is, computer science is inclusive, not exclusive — it includes theory and practice, not just theory or just practice. --bmills 05:24, 21 January 2006 (UTC)
Microsoft is a software company, its existence is irrelevant to computer science as a field of study. It's like saying Ford is part of "mainstream" physics because cars move according to laws of physics, and because some physicists drive Fords to work. Stan 17:58, 20 January 2006 (UTC)
Arguably, a lot more CS graduates go to Microsoft than Physics graduates go to Ford (about 10% of my graduating class at CMU/SCS went to Microsoft). The main point I was making is that the study of computation contributes to Microsoft's ability to write programs that perform the correct computations. Programming isn't all there is to CS, but it is a part of it — as the current revision of the article reflects. --bmills 18:21, 20 January 2006 (UTC)
Agreed. Current version is satisfactory. If there are no more issues to be brought up, please bring this to a consensus vote as soon as possible. This article should not be protracted. Computer science may be an area that is hard to define but traditional 'educational routes' (in fact, in any career) are factual and not a biased opinion. Evanx 23:34, 20 January 2006 (UTC)

I like this definition from Dictionary.com (WorldNet)[21]: "the branch of engineering science that studies (with the aid of computers) computable processes and structures" - Tyrel Haveman 20:40, 21 January 2006 (UTC)

Arguably, CS is currently not a branch of science, but it was considered at a time to be under Mathematics, rather than Engineering. -- Evanx 01:46, 22 January 2006 (UTC)
There are colleges that teach CS under a division of science, today. Consider the signifigance of the funds issue to represent where CS branched off at any particular college. — Dzonatas 02:22, 22 January 2006 (UTC)
Conceded, hence the word "Arguably". -- Evanx 02:47, 22 January 2006 (UTC)

Suggestion. I suggest CS is the study of computation as well as its processes and development. Is this acceptable to all parties? I feel this bridges the 2 camps. -- Evanx 03:13, 22 January 2006 (UTC)

I think that's a fairly reasonable definition (I'd be ok with it), though the grammar seems a bit off. What about "the study and implementation of computation"? --bmills 07:12, 22 January 2006 (UTC)
You have got a point, mine sounded too clumsy. I agree that is an elegant and concise way of phrasing it. -- Evanx 07:48, 22 January 2006 (UTC)

Change: I have just spent another few hours on research over terminology of the word "computation." Given we could limit its definition and assume it includes some things and excludes others so that a propositional out of "computer science is the study of computation" is true, yet how does the reader know all of this? I just had to read a few hours worth of texts just to confirm my previous notion that "computation" is to broad to make a specific definition as "computer science is the study of computation" as true for a general audience such as one that reads wikipedia. Is this to hard to understand? Of course computer scientist know what they do, but there are many that seem to have a hard time to come back down to earth and explain things in simple terms. This is really my pressure on this article. I've tried several ways to expand that definition, but I have been ridiculed, blocked, thrown stones at (in gesture), and disgraced all just because I feel I have contributed something towards where this page might actually teach something rather than to state the obvious for an audience of only computer scientists. Is this hard to understand? With all those childish gestures made at me, god forbid if one here actually starts to edit the computer science article on the simple english wikipedia!!! I mean, I might be tough enough to take some of those thrown stones and throw them back, but over there, without me and with some other wikipedians here over there, in likewise would be mass murder. The best writers of the article are non computer-scientist! Not that I suggest censorship, but they will find reputable and verifiable sources instead of personal expertise or POV in order to create an article and back it up with sources. The need for sources may seem like peer presure, but it needs to be done. I've seen it done on many other articles, but it really lacks here.

If I was a newbie to CS, and I read the article I would see that it says "CS is the study of computation." Of course to further understand what is CS, one has to understand what is a computation. Then as a newbiew, I click on the link for computation and I get "a computation is evolution over time of a computer." I ask, is it then true that "CS is evolution over time of a computer?" As a newbie reader I would assume it is true since it was written that way by those who have verified their reputable sources. I further read in the article that "CS has nothing do to about computer..." and the telescope comparision and so-on. As a newbie that has just read that, I am so confused. It starts as to say that "CS is the evolution over time of a computer," but it also states it has nothing to do about computers, so "CS is the evolution over time of brillance!" Yes; I really do not follow that logical substitution.

We could go update the computation article, and I highly suggest that we do. Computation, however, is still to general of a word to use where stated as "CS is the study of computation." In coverse, does this mean that any study of computation is considered computer science? I've spent a few hours and I have found the answer: no. There are actually different means to the word computation. I've found articles, for example Computation and Dynamical Models of Mind, that shows evidence that scientist have not found a common truth to what properly delineates the computational from the noncomputational. It seems that we have tried to get into such debate, but it can't seem to stay focused. Obviously, if scientist can't do it than what expectation is there for us to figure it out here. For us to really make that claim (or thesis) is original research, and that, consequently, is a no-no. It is also obvious that the word computation is pivotal on means, but those that use the words don't always pivot with the same means, so it is somewhat religious in usage. Those that follow a particular path know which way to pivot. We can't, however, expect anybody to believe or accept the means of computaton as intended as written or expect a particular path to be taken. This is how loopholes are in good-faith unintentionally made. In essence, I can see the brillance of the light shine through the holes in the statement: "CS is the study of computation". What specific type of computation does one study in computer science that would stay true to say any study of x is considered computer science? What paradigm is needed to be laid out in front of the reader that shows any study of x is considered computer science? If x is not computation, what is it? — Dzonatas 17:13, 22 January 2006 (UTC)

Your goal is laudable, but I'm sorry, your attempts have resulted in phrasing that is more opaque rather than less so. Not everybody is equally suited for expository writing; to some extent WP works because the less able usually recognize their limitations, and defer to the more able. When person after person here goes "huh wha?" in response to your attempts to explain yourself, you should take the hint - do you think it's more likely that everybody but yourself is clueless, or that your writing is not good enough to be convincing? Stan 18:03, 22 January 2006 (UTC)
Stan, I suggest you refactor your comment above and move it to the appropriate talk page. — Dzonatas 18:41, 22 January 2006 (UTC)
Dzonatas. This is touching: you start to discover what science and philosophy of science is about! This naivness of yours explains your difficulty to understand the POV of scientists. You say that scientists (such as us...) dont agree on the ontology (i.e. the meaning behind the concept) we put in the term computation, and that we can therefore not define CS as the study of computations. However, let me tell you that my feeling, as a scientist (and even more so as a computer scientist) is that scientists all agree that computer science studies computations, even if the meaning of a computation is not so clear. Now check this out (and then go and study some philosophy of science, and let this article become something usefull AND litterate): scientists and philosophers agree that science is the study of the natural world, even when the ontology we put on natural world is vague, not clearly defined or impossible to define completely. So is the case with the view of CS as the study of computations! Thats how science is, an astonishingly difficult to define activity... You say the reader will be puzzled when he reads this article? Well if this puzzleness lets him get out of the all too common belief that CS is just about computers (i.e. PC's...), if this lets the reader envisaged that CS is a science with "just as much on its plate as physics, mathematics, etc...", when he previously thought CS was just about making computers work: GOOD! Its the way to let CS become known as a true, deep and noble science to the public. Never again a cocktail talk such as:
- What do you do?
- I am a computer scientist
- Oh yeah? My kids love that too

--Powo 19:11, 22 January 2006 (UTC)

Powo, I suggest you refactor your comment above and move it to the appropriate talk page. — Dzonatas 19:24, 22 January 2006 (UTC)
CS as the "study of computation" is well-sourced (see my previous comment), though it's true that the computation article as currently formulated is terrible. Worse than a newbie coming to wikipedia and not immediately understanding the first line of the article would be a newbie coming to wikipedia and getting the impression that CS is just about writing code and building computers, or just about algorithms and operating systems, etc. There's a reason CS enrollment is on the decline, and a lot of people (myself included) think that a lot of the reason for that is that potential students don't think there's anything scientifically interesting to do in CS. It drives me crazy when I tell friends or relatives that I'm a computer scientist only to have them ask, "What do you think of Bill Gates?" or "Can you make my printer work?"
While "computation" may be vague, it is that very vagueness that allows the incredible diversity within the field of computer science — the freeness of "computation" is what allows type theorists and programmers and cryptographers to all be computer scientists. How do we resolve whether a computation-related field is CS or not? Simple. We ask its practitioners if they consider themselves computer scientists.
Simple definitions have to be succinct enough to be read and understood; a simple definition with a more in-depth explanation is preferable to a complex definition that is too precise to encompass everything that computer scientists do. The hypothetical newbie may not immediately understand what is meant by "the study of computation", but that's why the article is more than just one sentence. --bmills 21:51, 22 January 2006 (UTC)

Ultimatum. Let's settle this definition. Dzonatas, there is an offered solution by bmills that is a better reflection of mine. If you choose not to accept it, I cannot see how else your input can be accepted when it has been quite consistently been opposed by others. A rejection of the proposal will cause the article to keep the current definition, in which only you have an opposition. You have a few valid points (and a laudable goal as Stan has put it) but they do not warrant a complete revamp of the article and/or the definition. -- Evanx 20:12, 22 January 2006 (UTC)

Evanx, your actions relate to those of someone that has tried to be neutral. You have, however, been quick to point towards acts of conduct on my statements, but you have not equally done so with other members here. This is an obvious show of bias. It makes me not trust the consensus here or your acts of neutrality. I'm sure this can change over time. The vote so far is to keep the article the way it is -- protected. There are other articles to edit while this one works its course in dispute. — Dzonatas
I am glad you have understood my trying to be as neutral as possible. I have only pointed out 1 act of conduct (or misconduct) towards you. Notice that it helped keep the discussion on course and prevented an escalation of the emotions. These emotions arose out of exasperation in dealing with your arguments. No one here has said that you are wrong. However, that does not mean that you are right and that only your version fits (or mine for that matter). The importance is moving towards common ground which I have felt little effort from you until recently. You should feel assured that I have no bias towards anyone here. We are all trying to work together. -- Evanx 16:19, 23 January 2006 (UTC)
Another note about computation: it is not well-defined. Even bmills said it is vague. This use of computation is a problem. I am not against to use the word in the definition, but it needs appropriate well-defined limits. Sure, "the study of computation" can be found in sources, but these are absurd. Likewise, I've seen history articles try to use well published books on particular events. The events themselves are bogus. The books are absurd. However, wikipedians still try to use them a credible sources because they are verifiable existance of its published text. This is what I don't want to see happen to the definition of CS that could easily be stated otherwise. I can find some pretty silly definitions. To exclude any other source that challenges or try to define CS except only as "the study of computation" is not NPOV. It's about tone and a vague tone doesn't demonstrate neutrality. — Dzonatas
A simple definition that is somewhat vague is preferable to a large, complex definition that excludes a lot of things that are actually a part of CS, because excluding fields through overspecifying the definition would be a definite NPOV issue. --bmills 07:18, 23 January 2006 (UTC)
What I understand from what you have said is that CS is equal to the study of computation. My argument is: (a) CS contains a portion of the domain of computation; (b) CS contains a portion of physics; (c) CS contains a portion of computing; (d) CS contains a portion of a few more classes. With that argument, the physics of (b) is not a part of the computation in (a), and a portion of (a) and (b) overlap inside and outside of CS. This argument shows that "the study of computation" overspecifies in one area and underspecifies in another. — Dzonatas 15:42, 23 January 2006 (UTC)
The portion of physics that CS contains is the implementation of physical modelling algorithms, which is still computation. The actual engineering of physical computer systems is not computer science. CS is about computing in that we use computers to implement and study computations; if we are to assume that the computing article is accurate (it seems reasonable to me), we find from it that CS is a subset of computing and not the other way around. --bmills 18:03, 23 January 2006 (UTC)
"The actual engineering of physical computers systems is not computer science." We understand this, already. On "physical modelling algorithms," this is barely the entire story. — Dzonatas 15:10, 24 January 2006 (UTC)
Can we agree on simply, "CS is the study of computation and the science of computer systems." Fair? — Dzonatas 15:42, 23 January 2006 (UTC)
I think that is valid. If you can secure agreement on this version, I will support the bid although my preference is still the current version. -- Evanx 16:19, 23 January 2006 (UTC)
No. CS has very, very little to do with computer systems, other than the implementation of their software. The study of computer systems themselves is computer engineering, electrical engineering, information technology, and information systems. --bmills 18:03, 23 January 2006 (UTC)
No? It is not I that has been stubborn. Evanx, the "study of computation" was part of a historic version of the article way before I even started to contribute to this article. To is in reply to your dessnt that I haven't tried. — Dzonatas 15:10, 24 January 2006 (UTC)
bmills, you suggest to use "computation" even though it is broad. Here, "computer systems" is not as narrow as you suggest. It may include some of the aspects as you have pointed out, but it includes more which computation alone does not cover. This is another view point. You don't have to share thise view point. Wikipedia is concerned with the neutral view point, and that is the best one so far. I'm not conviced about "CS is the study of computation," but I didn't say it was wrong. I understand the view point. I stated, however, my reason I don't follow it like you do. The only way to be neutral about this is to include what I suggested. It still emphasizes computation. We know, there are sources that disagree with "CS is the study of computation" and there are sources that state it otherwise. You can't deny this that they don't exist. We can't keep it just "CS is the study of computation" for that reason, and not because I have influence here or not. By discrete math, we know systems is pretty broad. The use of "computer" in front of it gives it some direction. — Dzonatas 15:10, 24 January 2006 (UTC)
If you require sources:
[22] "Computer Science is the study of computer systems and computing." - Clarkson University
[23] "Computer science is the study of the theoretical and practical aspects of computer technology and computer usage." - UC Santa Cruz
[24] "Computer Science is the study of the design and development of computer systems." - Monash University
[25] Computer Science is the study of algorithmic processes and the machines which carry out these processes." - Colgate University
[26] "Computer science is the study of information and algorithms within the context of real and abstract computing devices." - Washington University
[27] "Computer Science is the study of algorithmic processes and the machines that carry out these processes." - Davidson University
There are more. In fact, I found 900 definitions under a google for "computer science is the study". I found only a 100 of those that state "computer science is the study of computation." — Dzonatas 15:34, 24 January 2006 (UTC)
"The study of computer systems" is always less general than "the study of computation", as a computer system (at its most general) is a system for performing computations, and a study of computation ought to include a study of systems for utilizing them. Your last three sources emphasize "algorithmic processes" rather than "computer systems"; "algorithmic processes" would be fine with me, but that's very similar to "computation". The first three are all from schools whose core curriculum doesn't include any hardware study outside of basic architecture, which is usually about systems programming rather than computer systems. Clarkson includes hardware study as an "IT option"; the UCSC program is through their engineering school, and their curriculum separates the requirements into "computer science" (which doesn't have any hardware courses) and "computer engineering" (which does). The Monash link has another nice quote to put it in context: "Exclusions: computer hardware design and construction."
In fact, let's put this in context. Rather than more quotes on what "computer science is", here is a selection from a googling of "computer science is not". I invite you to read them yourself, to capture the context of each.

[[28]] [[29]] [[30]] [[31]] [[32]] [[33]] [[34]] [[35]]. --bmills 16:47, 24 January 2006 (UTC)

This is an example of a forward-looking statement: "a computer system (at its most general) is a system for performing computations". Modern computer systems have computations, but they do not perform computations. It may be possible in theory someday like how calculus has i. Today, AI with neural networks that learn and grow intelligently are pretty close to "performing computations." Perhaps, that is why CI has a central study of computation - to find models of computation that work well for neural networks and that can further self interconnect their self-grown models. Computer systems execute computational systems. We simply do not say CS is the study of computation like we do not say math is the study of i. — Dzonatas 22:13, 24 January 2006 (UTC)

In reply to the links:

1st: I noticed they do not offer a BS in Computer Science but only a BA without a complementary degree (or no such options were found at first look). This also emphasizes that there is no engineerial study at that college beyond its select fundamentals. (There is a referal to another college.) Some quotes: "Computer scientists learn to program computers..." and "When we study operating systems or networks, we emphasize the internals, not how they should be configured for use."

2nd: "Computer Science is not really a "science of computers" at all." We already know this. "This is the real subject matter of Computer Science: computation, and what can or cannot be done computatively." Computation is subject to Computer Science. Yes; indeed.

3rd: "Computer science is not the science of the computer " - we said that also - "- it is the science of problem-solving using a computer. If you are a computer science major, you will see this in many forms – the study of algorithms, of machine hardware, of programming languages, operating systems, database design, and more. And the career opportunities are equally varied – software engineer, database manager, network administrator, project manager, and many others. The Bureau of Labor Statistics, part of the U.S. Department of Labor, gives the following information in its summary of occupations..." This included: "The study of" "machine hardware." No ka oi! Mahalo!

4th: "Computer science education explains how computers work from the atoms up to the Internet; but that is not all. It teaches many other things." Awesome. This one was listed on the springboard of AAAI.

5th: "Computer science includes the analysis, design, development and deployment of systems..." Good. "Although students majoring in computer science are introduced to the elements of electronic circuits and computer hardware, the in-depth study of such systems is provided by the School of Engineering’s Department of Electrical and Computer Engineering." Awesome.

6th: "To quote the Association for Computing Machinery, "Computer Science is not simply concerned with the design of computing devices..."..." Like the 2nd, computation is arguably a device and is subject to Computer Science.

7th: "Computer science is not about the study of computers, nor is it the study of programming." (The 1st says "Computer scientists learn to program computers...".) This also states "Programming is a tool...". "Computer science is mainly about the study of algorithms, which includes their mathematical properties, their hardware realizations, their linguistic realizations, and their applications." This does one does not state "CS is the study computation," but it uses "algorithms" instead of "computation." This further states: "An algorithm is a well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time. You build algorithms from several kinds of operations." This sheds a little light on why some distinct individual here put "CS is the study of algoritms" rather than "the study of computation." A "computation" is not an "effectively computable operation" in its most general terms.

8th: "A primary aim of the day was to put across the message that computer science is not all about amassing obscure technical knowledge in IT, but more about creative thinking and analytical problem solving." "An important issue for us", said one of the organisers, "is to let the local community know that an education in computer science is so much more than how the popular press normally portrays it."" Perhaps, there is an art to this science - "creative thinking."

From these open sources, "Computer science is the study, or science, of algoritms and computer systems." Q.E.D. I resume my studies. — Dzonatas 22:13, 24 January 2006 (UTC)



There are those that believe computation is universal and the universe is everything. That kind of computation has not been proven, but it is what they believe. They believe that given a long enough tape, a Turing machine could do computation of every aspect of life and the universe, which include functionally cognitive embodiments and the conscious beyond. It's like a religuous belief. What they really have is faith in word computation. They believe the conscious can be physically simulated. Physics has even stated that conscious is a phenomenon. CS is not a faith system that tries to make people believe that such phenomenon can be computationally modelled. It is a scientific system based on facts, and when the time comes that conscious itself is factually modelled by computation is when I can agree that "CS is the study of computation." — Dzonatas
I'm not sure what part of CS you're claiming is not related to computation. No one was claiming that CS is about religious beliefs. --bmills 07:18, 23 January 2006 (UTC)
I didn't mean religious as in church but by practice and what one assume to be true. — Dzonatas 15:42, 23 January 2006 (UTC)
The fact that computation is not well-defined means it is not suited for a scientific definition of CS. I use "scientific" to denote that CS is based on a system of science, not that the formulation of the definition is a scientific result. The word computation alone does not justify CS's system of science. It may be true the within CS one studies computation, but that does not define CS. Even Alan Turing noted that not everything can be done by a Turing machine. This is where he limited the thesis to "purely mechanical." To suggest that definition of CS is "the study of computation" alone is academic dishonesty based on these facts. We can do better. — Dzonatas 04:35, 23 January 2006 (UTC)
"Life" is not well-defined, but we use it in defining biology. "Nature" is not well-defined, but we use it in defining physics. The core of any scientific discipline is exploration of the unknown, which is precisely why words with unknown or vague meanings are used to define them. --bmills 07:18, 23 January 2006 (UTC)
Strong point raised. -- Evanx 16:20, 23 January 2006 (UTC)
The direction of the study is clear on "Life". The direction of study on "nature" and and the physical domain is clear in physics. The words may be incomplete, but those sciences have a system that already govern their direction, unlike computer science. The usage of Life is more direct. The usage of the physical domain is more direct. The usage of "computation" is indirect. There is no comparison, or the comparison is not as appearant. — Dzonatas 15:10, 24 January 2006 (UTC)
100% agree with bmills!--Powo 12:33, 23 January 2006 (UTC)

Definition of CS - currently unresolved

  • CS is study of computation:
    • Change because is more related to cognitive science or computational intelligence (i.e. AI), it doesn't include systems analysis and design, security, and maintenance, or other social science methods, for example. It puts the cart before the horse. — Dzonatas 02:32, 22 January 2006 (UTC)
I have suggested an alternative, please look at it and reply. -- Evanx 06:22, 22 January 2006 (UTC)
  • Comment: It is non-negotiable. [36] The google tests show that "CS is the study of computation" is only a significant minority viewpoint, so we can not keep it. — Dzonatas 06:43, 27 January 2006 (UTC)
Saying it is non-negotiable is not a NPOV since it excludes all POV besides your own, which you have used "google tests" to support. Unfortunately, from the "Dear Dzonatas" section, the "google tests" also show otherwise. Although I do not agree with how that section was done, its intention is made much clearer. You are the sole voice of dissent. I'm not saying your wrong and I emphasize that but there's a lack of confidence in your version of the definition. -- Evanx 00:34, 28 January 2006 (UTC)

Dear Dzonatas,

Why can't you simply accept the concensus on the talk page? —Ruud 00:32, 28 January 2006 (UTC)

And for as far as Google can be relied upon...

computer science is the study of... [37] 9 720
computers [38] 753
algorithms [39] 616
information [40] 144
computation [41] 126
algorithmic processes [42] 82
computing [43] 75
computational [44] 37
information structures [45] 29
computer systems [46] 14
computer systems [47] 11
data structures [48] 4
models of computation [49] 0

Ruud 00:51, 28 January 2006 (UTC)

What does that mean to you, and why do you find that a reason to revert? — Dzonatas 00:34, 28 January 2006 (UTC)

For goodness sake! Can't you be more cooperative? Where was the consensus to amending the definition? We only agreed for some parts (which specifically excludes the definition, look at consensus changes and see why it was reverted), you cannot unilaterally edit after failing to convince otherwise. You're a disappointment really, after all this talking and discussion, you just want to do things your way. -- Evanx 00:41, 28 January 2006 (UTC)
Evanx, you comment about "Your a disappointment" is a serious Wikipedia:Wikiquette issue. I'm sure we can discuss the facts, instead. How is it that you propose the consensus to overule nuetrality? — Dzonatas 01:21, 28 January 2006 (UTC)
To have the cheek to quote Wikiquette but autonomously and unilaterally alter without prior agreement repeatedly, is itself a breach of several articles in Wikiquette as well as a component of the foundations of Wikipedia. As to your proposition, your bid to secure amendment had only my support that was to be given only if you could persuade the majority. However you have failed to do so and sought to contravene the current situation at least twice. If you have a problem understanding about consensus overruling neutrality, you have got it from the wrong perspective. It is consensus that is justifying that the current article is neutral and not an overruling nor is it implied in the reverse. I am unable to support further bids from you until an apology is made. With respect to my comment about disappointment, I retract it and clarify it for the sake that you may at least try to negotiate instead of forging a solitary dissent: My discussion with you has been disappointing, least of which was that I gave in to compromise but you failed to uphold your end of the negotiation. -- Evanx 03:47, 28 January 2006 (UTC)
We already had a mediation case open on the article. Unless you are a sockpuppet of steve, you have only further the cause to edit unparallel to the open case. Consider also the steps a few editors did and tried to report me to block me, I figure the whole article has been ripped up without any consensus. These mediatation steps were wanted months ago. This consensus you propose here is only with the last two weeks. Why didn't you make any comment on the open mediation case? There is already a statement about sources there.
There is no consensus about the neutrality of the article. The question hasn't been put forth. The resolution so far was the external sources. Another resolution was just to keep the current definition. There were objections. There are other reasons why we follow policy and not a consensus -- sockpuppets. It is to hard to guarantee a democratic vote.
Evanx, you act like you wiped the plate clean of all the issues, and you expect none of the previous needs attention. What about all the text before? Why didn't we start there? It incorporated many ideas that this one does not. There was no consensus to delete, it was all just done. — Dzonatas 04:29, 28 January 2006 (UTC)
Dzonatas, consider the date I first posted on Wikipedia. That was the date of my registration on Wikipedia itself. That excludes me from any foreknowledge of intervention of a case already in the past and my involvement in this discussion is to solely facilitate the argument which seemed to be unbridgeable between the 2 camps until a few days ago. However, since your recent and deviant amendment, I have lost much hope in resolution with you.
The previous archive has the entry for the mediation case. If you tried to mediate this case, you would not have tried to effect resolution. I noted your attempts to be neutral, but you did not stick to just an unbiased affect on resolution. — Dzonatas 15:15, 28 January 2006 (UTC)
Regarding the use of sockpuppets, Wikipedia has access to methods which check them. I am not one. This is still very clearly a democratic vote, do not assume the issue is resolved and act like only your view is the right one for presentation. There is no issue about the neutrality of the article because we all deem it to be neutral, with you as the sole exception. Please correct yourself: There was only one objection and you were unable to persuade anyone else.
I see you noted that this was "clearly a democratic vote" and not a consensus. There has been some thoughts already about the definition and the attempt to take it to a vote. — Dzonatas 15:15, 28 January 2006 (UTC)
If you would like to bring up the past, we might as well argue about the articles and issues that were raised even before your registration. Should you wish to add a section, discuss about it. Add it to those under contention as above. Right now, let us deal with the issues of right now. In fact, I suggest you bring in a mediator because it is especially difficult to negotiate with you.
The fact that there is so much opposition to your view should have already put you into perspective. The fact that I have repeatedly insisted that your views aren't necessarily wrong and that I had offered to compromise, would have alerted you to my desire to stay impartial and neutrality. The fact that your unilateral act doesn't seem to have a consideration for others, is rather shocking.
It doesn't matter if there is 100 wikipedians against my personal POV here. I don't have my personal POV on the page. There are millions of sources with different stated POVs to what is the definition of CS. A million to one outranks me and a million to one outranks the 100 that are against my personal POV. Consider that there is millions of sources, there are various viewpoints that all deserve equal treatment on the page. Even if there is only one wikipedian only edits this article, that wikipedian cannot make a decision to what is the definition of CS without regard to all the different views. If in doubt, we still pick out the majority views and still list the minority views. This is an encyclopedia, a compendium of knowledge -- not a place to prove a point like a single, narrow definition of CS to what a few users here believe what CS is about and not about. — Dzonatas 15:15, 28 January 2006 (UTC)
I cannot believe the arrogance you used and I quote "It is non-negotiable." that you felt enables you the utmost authority to reject the views of myself, bmills, Powo and Ruud. I had put up an update specifically stating that we should go ahead with resolved issues. Let's face it, you have no respect for your fellow Wikipedian and blatantly disregard contrasting views, without even prior thought to even considering them.
According to Wikipedia founder Jimbo Wales, NPOV is "absolute and non-negotiable". It is also stated in policy. Consider that I have tried to incorporate the different views together, that is not some kind of hyperbolic rejection. — Dzonatas 15:15, 28 January 2006 (UTC)
Again, I reiterate, bring in a mediator. -- Evanx 06:34, 28 January 2006 (UTC)
  1. We have established a consesus on the talk page, which you gave as a reason for unprotection [50], and which I expect you to respect.
  2. In both of your changes you added definitions which are a clear minority point-of-view and where poorly phrased. In contrast to the current definition, which is acceptable to all other editors and in the top 4 of google definitions (top 2 if you consider algorithms a subset of computation and ignore computers for the good reasons stated on this talk page). —Ruud 00:45, 28 January 2006 (UTC)
On the note about "poorly phrased", I also refer you to Wikipedia:Wikiquette. I'm sure you can make suggestions on how to improve it. The notes demonstrated the different points of view. How do you propose the consensus to overule nuetrality? — Dzonatas 01:21, 28 January 2006 (UTC)
"The consensus" doesn't overrule anything, because the consensus is that the current definition is neutral. —Ruud 01:45, 28 January 2006 (UTC)
A consensus was never asked if it was neutral. I stated it wasn't and nobody objected. It doesn't include my view point. It doesn't include many view points presented in citations. It is not neutral. The consensus by the community cannot be overidden by the consensus here. A neutral view must stand.
Ruud, when you revert any edit I do, it is not neutral. It is considered vandalism. — Dzonatas 02:07, 28 January 2006 (UTC)
Ha ha. —Ruud 02:18, 28 January 2006 (UTC)
I have had enough. Further edits against consensus by you Dzonatas, will result in a filing of arbitration with the ArbCom. Witnesses from this talk page may be called to present evidence should that action be taken. -- Evanx 00:56, 28 January 2006 (UTC)

Mediation case

I have opened a mediation case. If anyone else is interested in voicing their opinion, I invite them to clear the air. -- Evanx 07:08, 28 January 2006 (UTC)

medcabal

Hello -- I was brought in as part of medcabal; see this: [51].

As far as I can tell, the dispute here is over the definition of CS, is that correct?

Could the people involved in the dispute please provide a very brief (i.e., one sentence) description of what the dispute is over?

Thanks -- let's see if we can get this resolved quickly. As far as I can tell, discussions have remained civil which is great. Sdedeo (tips) 21:59, 28 January 2006 (UTC)

User:Dzonatas/User:Jhballard does not believe that the first sentence of the article is neutral, despite the huge piles of sources provided (starting from Archive 2 of this talk page) and continues to revert and insert his POV against overwhelming consensus, significantly hindering progress in writing this article. —Ruud 22:11, 28 January 2006 (UTC)

OK. I see that the majority of people want to go with "Computer science is the study of information and computation." This is disputed by Dz. Dz, can you provide an alternate sentence that you would prefer to have here instead? Sdedeo (tips) 22:26, 28 January 2006 (UTC)

  • I've tried but User:R.Koot would revert every edit I do. There was an earlier version, but User:R.Koot gamed the system to make it look like I reverted in violation, even though I didn't. While I was blocked, several changes took place without discussion. Now a few individuals here want me to justify from this version but they couldn't do the same due justification with the other version. Anyways, I have tried incorporate our different ideas.
  • The study of information and computation alone does not justify a neutral definition of CS. There are tons of sources that state otherwise different views. One particular source to point out is published by the IEEE and listed by the ACM, Research paradigms in computer science. It contrasts four different influential definitions and gives them as secondary sources.
  1. Computer science is the study of phenomena related to computers, Newell, Perlis and Simon, 1967
  2. Computer science is the study of algorithms, Knuth, 1968
  3. Computer science is the study of information structures, Wegner, 1968
  4. Computer science is the study and management of complexity, Dijkstra, 1969.
  • This publishment shows how these break down into empirical (1), mathematical (2,3), and engineerial (4) aspects of computer science. These are the aspects, based on reputable and verifiable sources, I would like to see included in the definition for this article. As we can see by the definition on the article, "study of information and computation," compared to the the definitions above, the definition on the article only covers the mathematical aspects of computer science.
  • From much of the novel discussion, I believe there is a concern to not emphasize the the engineerial aspects. That is fine, but it is still obviously knowledge within CS and should not be excluded. When I chatted here with a few, I get the notion they think POV is that, engineerial. However, it is not. I emphasize that policy is about neutrality. Wikipedia is about verifibility, not truth. A few here insist that the definition covers everything, freely, but they have shown no sources to back up that claim, not that they haven't provided sources.
  • Each of these aspects deserve equal mention. CS has never mutated from one set of knowledge to another. As the publishment has stated above, it has been dominated by different subjects and aspects at different times, which kinda reflects what has happened to this article.
  • The other thing to point out is the use of "study". Notice on biology how it refers to the study or science. The study emphasizes a academic viewpoint. CS is one of those sciences that does not have to be studied in academia. It took at least 30 years for the first academic department related to computer science to even begin. There is no need to exclude its science that doesn't specifically fall under academia.
  • I'm open on a one-liner as long as it covers the aspects noted above. The empirical side of the science definitly needs attention. I suggest: "CS is the study of computation, algorithms, and information structures and the management of complexity in the phenomena related to computers." — Dzonatas 01:33, 29 January 2006 (UTC)


  • You were justly blocked for violating 3RR, stop playing that card. I'd say you reverter our changes, not the other way around. —Ruud 02:22, 29 January 2006 (UTC)
  • Please take a good look at the talk page and the archive... —Ruud 02:22, 29 January 2006 (UTC)
  • There are several good reasons for this. First, the words science is already contained in the word omputer science, no need to mention it twice in a sentence. Secondly, the phrase "study of, or science" implies study and science are one and the same, which they are not. Finally, as you already mentioned, computer is not strictly a science as it incorporates many mathematical and engineering aspects. —Ruud 02:22, 29 January 2006 (UTC)
  • Seems we're going round in circles on this as your proposal is rather close to my initial proposal "Computer science is the study of computation, information and complexity". We've dropped "complexity" by soem good arguments raised by User:Piet Delport, but I would still be open to it. Also note that algorithms would already be covered by computation and I have doubts "information structures" is well-defined enough. We've already been over the fact that tho word "computer" should be avoided as is might cause reader to think that computer science is about computer hardware, which it is not. —Ruud 02:22, 29 January 2006 (UTC)

Please everyone calm down.

Here is (one of) Dz's proposed sentence(s):

Computer science is the study, or science, of algorithmic[52] processes, informational[53] structures, models of computation[54], and computer systems[55].

Here, for comparison, is the other one:

Computer science is the study of information and computation.

I am going to propose a compromise sentence:

Computer science is the study of algorithms[56], computation[57], information[58] structures, and computer systems[59].

Does anybody object to this sentence? If so, please propose a modified version of this sentence? My feeling is that the definition should be rather inclusive, so I've included pretty much everything in both. We also, I note have an article discussing the definition of CS itself, so we don't have to get this perfect. Sdedeo (tips) 06:40, 29 January 2006 (UTC)

I prefer the previous, shorter and more to-the-point definition, possibly with one modification:
Computer science is the study of information processing and computation.
(Reasoning for not saying (just) "information": in all the instances i can think of (algorithms, data structures, information theory, coding theory, data compression...), CS studies what you can do with information, and how; in other words, the focus is on the dynamic processes being applied to information, not on the information itself. Studying information, without processing, sounds more like something from semiotics or semantics than computer science. Maybe it's just me, though.)
Criticisms of the proposed compromise:
  • "algorithms" is arguably subsumed by "computation".
  • What is "informational structures" supposed to mean? If it means "data structures", then, like "algorithms", it probably doesn't belong here. (The definition should try to capture the essense of computer science, not give a laundry list of sub-disciplines.)
  • I'm not sure what sense "computer systems" is meant in, but the one that seems obvious (and that the linked article describes) is "hardware/software plaftorm", such as the common PC, the study of which falls under computer engineering rather than computer science.
--Piet Delport 08:08, 29 January 2006 (UTC)
I agree with Piet here. Drop the objectionable parts (algorithms, structures and computer systems) and you end up with the current defintion. —Ruud 13:17, 29 January 2006 (UTC)

OK, I am now going to update the sentence in response to the discussion. Piet, thank you. Ruud, you are not being helpful; the current sentence is not going to survive intact, that is the nature of compromise.

I agree that algorithms fall under the more general "computation", so kill it. I also agree with Piet that "information structures" is odd; however, I don't see any value to saying "information processing" after saying the ultra general "computation", so kill that too. Finally, re: "computer systems", I read the section in the article "Relationship with software engineering", which makes the claim that it is POV to exclude (or indeed include) computer engineering from computer science. This fits with my own experience with computer scientists, who are loath to restrict the definition to the "theory" end. So:

Computer science is the study of computation[60] and, under more liberal definitions, computer systems[61] as well.

Comments? Dz, is this OK? Piet, Ruud, Evanx? Sdedeo (tips) 16:54, 29 January 2006 (UTC)

I think it's important to distinguish here between software engineering and computer engineering. The former deals pretty much exclusively with the design of software, which is why there's dispute about whether or not it is part of computer science. The latter deals with both hardware and software - in other words, computer systems - and I don't think I've ever heard anyone claim that it should be included under the heading of "computer science". Every "computer engineering" degree program I've ever heard of has either grown out of an electrical engineering department, or been created by merging EE and CS departments (hardware+software). Software engineering, on the other hand, is less clear cut. Many computer science departments claim to teach software engineering, and the degree programs for software engineering that exist have had their roots in CS, EE, or a collaboration between the two, depending on the school. --Allan McInnes 17:47, 29 January 2006 (UTC)
Contrary to popular belief, computer scientists do not study computer systems, computer engineers do. It would be silly to deny that there isn't a significant overlap in educational programs offered at universities and colleges, but this should be threated later in the article. Stating it in the first sentence is misleading and would only help to spread common myths. —Ruud 18:15, 29 January 2006 (UTC)
You have strong beliefs about what CS is. However, numerous sources, and numerous other parts of the article contributed by a number of people, discuss that CS can, for some people, include computer systems. So we need to mention that under some more liberal definitions, CS includes these aspects. Sdedeo (tips) 18:38, 29 January 2006 (UTC)

We should be careful here to avoid original research. In particular, everybody involved in this article knows a least a little (me) and probably quite a lot (many others) about CS life. But we have to stick in this article to what is substantiated elsewhere. "Software engineering" I think it's established is sometimes separate from, and sometimes a subset of, CS, depending on who's talking, and we need to respect that. Now, I do think it's clear that designing a new kind of read head on a hard drive is EE not CS, but I think we don't imply that in the latest sentence above? Sdedeo (tips) 17:55, 29 January 2006 (UTC)

Sorry for being so "unhelpful" but we've worked pretty hard on the definition as it stands, and everybody agrees with it except for Dzonatas. I do not believe compromise is necessary per se, unless someone comes up with more convincing arguments. As can be seen on the talk page and the archives the current definition is definitly not original research and I would go as far as saying that is the definition used most widely. —Ruud 18:08, 29 January 2006 (UTC)
There is never a "final" article. We currently have controversy, and we should seek to resolve it. The inclusion of more "practical" elements is controversial, and we need to figure out how to deal with it. That will almost certaintly mean that the current sentence does not stay. Sdedeo (tips) 18:36, 29 January 2006 (UTC)
How about, "Computer science is the study of information and computation and their implementation in computer systems."? That includes computer systems, but emphasizes using them to implement things than designing, building, or configuring them. --bmills 18:20, 29 January 2006 (UTC)
Hi Bmills. I think part of the controversy here is that some people (e.g., Ruud) do not want to include computer systems in the def; we need to respect that by emphasising that under one def CS is purely theoretical, and under another it includes more practical questions including their design and construction. Do you strongly object to the latest compromise sentence? How would you modify it in a minimal sense? Sdedeo (tips) 18:36, 29 January 2006 (UTC)
I like bmills's compromise: it describes the link to computer systems clearly and succinctly. --Piet Delport 18:55, 29 January 2006 (UTC)
I don't think it's a question of theoretical vs. practical. The issue is that "computer systems" connotes hardware as well as software, and CS isn't about hardware design. "Implementation in computer systems" is reasonable, because it makes it clear that computer science isn't concerned with designing that hardware, but may be concerned with designing a part (the software part) of the computer system. --Allan McInnes 18:50, 29 January 2006 (UTC)
"Computer science is the study of the properties and implementation of computation"? A bit more concise, but retains the emphasis on implementation. --Allan McInnes 18:42, 29 January 2006 (UTC)

medcabal 2

OK, we have two compromise sentences so far; let's not let them proliferate so as to be able to keep track.

One that I have suggested is:

Computer science is the study of computation[62] and, under more liberal definitions, computer systems[63] as well.

One that Allan and Bmills have proposed collaboratively is:

Computer science is the study of the properties and implementation of computation.

Let's pause here for a moment. Since the original conflict arose against Dz, Dz it would be helpful to hear from you if you could accept either of these two sentences. Similarly, I'd like to hear from the other three parties: R.Koot/Ruud, Evanx and powo. Please, let us know briefly if either of these two sentences is OK; if not, can you propose a minimal modification of one or the other that you would be happy with? Sdedeo (tips) 18:48, 29 January 2006 (UTC)

Computer science is the study of information and computation, and their implementation and applications.' I'd like to include information and keep it keywordish. —Ruud 18:51, 29 January 2006 (UTC)
Works for me. --Allan McInnes 18:59, 29 January 2006 (UTC)

About the new compromises, which I didn't see before my previous post: they do work in the right direction. My suggestion from those is a combination of the two:

"Computer science is the study of the implementation of computation and phenomena related to computers." Dzonatas 18:49, 29 January 2006 (UTC)

OK, so we're getting closer. My feeling is that Dz's sentence has one major problem: it is too vague at the end ("phenomena related to computers" could be what happens when you drop a computer on your foot.) We should be inclusive in the wording, of course.

So I'm going to combine the Ruud/Allan/Bmills evolved sentence with Dz's. Here is the next draft:

Computer science is the study of computation, as well as its implementations and applications.

"implementations and applications" seems to me to be the phenomena that Dz wants to talk about. Meanwhile, I've cut the word "information" -- I don't know what the "implementation and applications" of information is, and as others have remarked (I think it was Bmills?), "information" can be a bit too broad: CS is about how information is organized and manipulated (a subset of "computation".)

Let go another round: Dz, Ruud, Allan, Bmills, please let me know if you can live with this version. If not, please provide a minimal modification of it that would satisfy you. Sdedeo (tips) 19:28, 29 January 2006 (UTC)

  • Support - I'm fine with that phrasing. It's a good compromise. --Allan McInnes 19:35, 29 January 2006 (UTC)
  • Not yet - I stand by my point that information should be included. In most non-english languages computer science is called informat- or data-. Information is an integral part of computer science, wheter we are talking about database, information theory, data structures or Kolmogorov complexity. I see the problem with the sentency not being entierly correct, but but solution should be a rephrasing, not removing one of the critical keywords. —Ruud 19:43, 29 January 2006 (UTC)
Fair point. I still support the phrasing, but would be happy to include something on information too. --Allan McInnes 21:57, 29 January 2006 (UTC)
  • Below I pointed out how "computer systems" is similiar to "phenonmena related to computers," so it is not the phrase "implementations and applications" that is wanted. I understand the viewpoint about being vague, but so is computation. — Dzonatas 19:39, 29 January 2006 (UTC)
  • Next suggestion: "Computer science is the study of information, the implementation of computation, and phenomena related to computers." — Dzonatas 19:47, 29 January 2006 (UTC)

OK. Dz, the problem with "phenomena related to computers" is that it really is incredibly vague, even humorously so; computation is vague, but in a good way. Let me put it another way: what words would you add to "implementation" and "application" to get at what you mean by phenomena (i.e., so we don't include the phenomenon of dropping your computer on your foot.) Ruud, I see what you are saying. However, do remember that, e.g., librarians often describe themselves as doing "information science"; so information itself is also rather vague.

Let's try again.

Computer science is the study of computation and information processing, as well as its implementations and applications.

Again, let me know if you can support, and if not, how you would minimally modify. My inclusion of "information" is suboptimal, so suggestions that avoid inadvertantly including, e.g., library science, would be welcome.

Sdedeo (tips) 19:53, 29 January 2006 (UTC)

  1. Computer science is the study of information and the properties, implementation and applications of computation. —Ruud 20:01, 29 January 2006 (UTC)
  2. Computer science is the study of information and computation. This includes both their theorethical properties as well as their implementation and applications. —Ruud 20:03, 29 January 2006 (UTC)
I am sorry, I have been busy and did not expect the cabal to act so fast. I appreciate the prompt response. I have taken time to read this and it appears that both information and computation are essential to the definition. If so, the most concise is the present variation. The earlier ones which seek to be a compromise, is a mouthful in itself. -- Evanx 20:10, 29 January 2006 (UTC)
Support. Some of the other proposals are starting to sound like exam answers instead of encyclopedic article openers. --Piet Delport 20:26, 29 January 2006 (UTC)

medcabal 3

OK, let me refine that a little to make sure library science (or indeed semiotics) doesn't get squeezed in; our new evolved sentence is:

  • "Computer science is the study of the abstract properties of information and the properties, implementation and applications of computation.

Getting a little verbose, but I think it works. Again, LMKIYCSAINHYWMM. Sdedeo (tips) 20:05, 29 January 2006 (UTC)

  • I think this is an accurate definition but a mouthful. Please read my above comment. -- Evanx 20:11, 29 January 2006 (UTC)
  • Semantically correct but syntactically sub-optimal. I would support this one but are open to proposals that improve the syntax while maintaining the sematics. Maybe change the second properties to theory? —Ruud 20:16, 29 January 2006 (UTC)
  • I have re-read it a few times and this is what I think: "abstract properties of information" is subsumed under "information" and "properties, implementation and applications of computation" practically means all aspects of "computation". How much of an improvement is this then, when comparing the two? This discussion is moving forward but the definition is facing so much stress in trying to appeal to all parties when the alternative is to change the mindset, that which the terms "information" and "computation" are all-inclusive, rather than exclusive. The nuances are clearly reflected in the rest of the article by the diverse and many fields of CS. -- Evanx 20:34, 29 January 2006 (UTC)

"information" is a superset of "abstract properties of information". We use that mouthful to make sure the article doesn't include "the study of how to organize information for library users" or "the study of how information is communicated to people via symbols" in the def of CS.

I would be fine to cut "p, i and a of c" for "c"; others may not be, but go ahead and propose the new sentence in #3 below. Sdedeo (tips) 20:39, 29 January 2006 (UTC)

I understand your position. However I am loath to complicate an already suitable definition. But I will propose one. -- Evanx 20:46, 29 January 2006 (UTC)
  • I've posted my comments why it would be either computer systems or phenomena related to computers. Perhaps, take a break and read the comments. Again, I'll stress the mathematical, engineerial, and empirical paradigms needed in the definition. I see the empirical removed over the foot comment. I can also make the assertion that one has to fully understand math before they understand CS, which is the definition that gets proposed above with empirical paradigm excluded. — Dzonatas 20:13, 29 January 2006 (UTC)
The present terms are inclusive and not exclusive. We should not complicate an already instrinsic definition. After all, a definition seeks to prepare the reader for what is the article about. I see the current situation as highly effective and neutral in providing that experience. -- Evanx 20:17, 29 January 2006 (UTC)

Dz, I know you want either "computer systems" or "phenomena related to computers"; you are probably not going to get either of those. Please suggest an addition to the words "implementation" and "applications" that broadens the sentence sufficiently.

Rudd, "properties" to "theory" is fine with me.

As for "accurate" versus "a mouthful", I think we will have to settle. We are trying to resolve a dispute between users because people claim one or another sentence is inaccurate. I am not going to spend time trying to polish prose -- all I am here to do is try to get a compromise sentence that satisfies the various "five pillars" of wikipedia, none of which include prosodic beauty. A camel is a horse designed by committee, but we're in a mess, and it's possible only a camel will get us out.

OK, I need to take care of stuff offline for a bit; I will be back in a few hours. Please use this section only for brief comments and minor modifications of the sentence we have so far, which, for reference is:

Computer science is the study of the abstract properties of information and the theory, implementation and applications of computation.
  • Support. Either this one or the more concise current is fine with me —Ruud 20:39, 29 January 2006 (UTC)
Suggestion: Computer science is the study of information abstraction and computation. I think this is rather clumsy but it is a compromise? -- Evanx 20:52, 29 January 2006 (UTC)
I think information abstraction is too exclusive (e.g. it doesn't cover information theory, Kolmogorov complexity or even input of algoroithms). —Ruud 20:56, 29 January 2006 (UTC)
You are right, but I cannot see how else to bridge Dz's version. I already highlighted that the current one is just fine and that only a mindset needs to be changed. I am sorry. -- Evanx 21:02, 29 January 2006 (UTC)
  • Support - I'd ride that camel. --Allan McInnes 21:55, 29 January 2006 (UTC)

Sdedeo (tips) 20:33, 29 January 2006 (UTC)

  • Reply to mediator for a about a modification: "Computer science is the study of computer systems, information abstraction, and computational analysis." — Dzonatas 20:37, 29 January 2006 (UTC) analysis includes theory, implementation, and applications — Dzonatas 20:37, 29 January 2006 (UTC)
This is a totally different sentence. I cannot mediate if you do not attempt to work with the current evolving sentence we have. Please try again. Sdedeo (tips) 20:41, 29 January 2006 (UTC)

Sdedeo, if either "computer systems" or "phenomena related to computers" is not inserted, then this is not a compromise. With the above sentence, we have only slightly modified the definition on the page. Therefore, this hasn't really progressed. It still includes "information" and "computation." As you suggested, there are sources that point out "computer systems," so we can not exclude this. I see you have changed you view and started to exclude such. I've stated why "implementation and applications" is not an empirical paradigm, and it only emphasises "computation," and not the rest of the science. — Dzonatas 20:46, 29 January 2006 (UTC)

The mediator is not being unreasonable. It is a totally different sentence. Let me try to bridge it. -- Evanx 20:48, 29 January 2006 (UTC)

Dz, I will just repeat what I said earlier: I cannot mediate if you do not attempt to work with the current evolving sentence. I am sorry if you feel that your contributions are being unfairly excluded; however, you are going to have to find a different way to express what you mean by "computer systems" or "phenomena related to computers", and you are going to have to do it by altering, in as minimal way as possible the sentence we currently have -- which is composed both of your input and those of others. I have required others to do the same. If you do not wish to do that, that is fine, but I can't keep combining sentences only to find that you or someone else is proposing something totally different in the next step. Please do your best to try again.

Two other things: everyone, please do not contact me by e-mail; I prefer to work on the talk page. Secondly, I am not ridculing anybody in particular, and I'm sorry if I gave that impression. Personally, I think you are all weirdos in a very equal opportunity fashion. Sdedeo (tips) 21:11, 29 January 2006 (UTC)

I think that any person or group that argues for 10 months over single sentence is insane :D. —Ruud 21:24, 29 January 2006 (UTC)
Truer words were never spoken... --Allan McInnes 21:59, 29 January 2006 (UTC)


Sdedeo, It seems unfair because you put the burden on me instead to divide it equally. By your own vote, you dropped my suggestion twice but moved forward with other newer suggestions. I have gone way out of my way for months to find different sources that support different views. I have included those sources here. Now, you want me to further include more sources to suggest some other term than what is already found by the sources? I do not see the other contributions backed up by sources with any reason (expect there own) to exclude "computer systems" or "phenomena related to computers." I've made the case for the dominent mathematical paradigm here. That is obviously wanted terms of "information" and "computation." Why do we even need them both? I even googled "computer science is the study of information and computation": result, 55 hits. A careful study reveals most of those are redundant links, which leaves only 13 hits of sites that existed at some time. Remove sites that don't exist anymore, and we're left with only 10 hits. Remove sites that are only directory lists, and we're left with 5 hits all from a few European universities. Obviously, not the view of the rest of the world. From this, I don't see how a slight modification to the sentence is fair, either.

Lets back-up a bit.

Computer science is the study of computer systems, the abstract properties of information and the theory, implementation and applications of computation.
  • Is there another way to say "computation" or "information"? — Dzonatas 22:02, 29 January 2006 (UTC)
  • Another suggestion: I looked at a few other mediations, and I don't see this scheme of a quick vote in the solution. Perhaps, it is not the solution here either. Consider it is quick, the verifiable facts are really questionable. It is more like a game... and insane. When I saw the "I don't have time for to read this," I highly doubted it would be fair even if it included something I lean towards. Lets get back down to policy of wikipedia and make verifiable points -- not games. — Dzonatas 22:24, 29 January 2006 (UTC)

Suggestion - The sticking point here seems to be over "computer systems". How about the phrase "computing systems", as an alternative to "computer systems". --Allan McInnes 22:34, 29 January 2006 (UTC)

Computer science is the study of the abstract properties of information and the theory, implementation and applications of computation.
  • Support: I would agree with the above sentence. If it makes Dz happy, I would also agree with the following sentence:
Computer science is the study of the abstract properties of computer systems, information and the theory, implementation and applications of computation.
This last sentence would be fine for me because a computer system can be any physical sytsem in which a computation occures. Thus, the study of computer systems and the study of computation is alsmost similar. --Powo 22:44, 29 January 2006 (UTC)
Computations can exist outside of computer systems (just look at lambda calculus, which describes computations independently of any "computer system"); as such, "computer system" is not an appropriate substitution for "computation". However, this last proposal is fairly good; or what about a (IMO less camel-ish) revision along the lines of my earlier proposal:
"Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems."
This includes "information" (R.Koot), "computation" (me), and "computer system" (Dz), and explicitly includes theory, implementation, and even applications. I would also claim that it could not be easily construed to include library science. --bmills 23:40, 29 January 2006 (UTC)
I like it. And will support it if Sdedeo puts it to vote. --Allan McInnes 00:04, 30 January 2006 (UTC)

A few meta notes:

  • Wikipedia is not a democracy; i.e., votes (except in rare cases) are never binding. We basically have to keep working until everyone is happy (or gets banned, whichever comes first.) This is IMO a very good thing. So instead of taking a vote, it's more a question of "does anyone object".
  • Dz, I'm sorry if you were annoyed that I wrote "I don't have time to read this." IMO, 90% of the proposed sentences on this page are absolutely fine. I am not a CS expert, but neither am I a newcomer to either CS or the tricky question of defining a discipline. The main thing we are doing here is trying to get everyone to agree on one (any one!) of many many valid sentences. So it's more a question of sketching out the very rough outlines; my job is definitely not to arbitrate between competing essays.
  • Why am I doing this? My feeling is that this argument has been wasting everybody's time, and my main goal here is to get you guys to agree to an opening sentence so you can do something far more useful: improve the rest of the article. So much effort has been wasted on this single sentence at the expense of time that could have gone into expanding and sourcing the article as a whole.

Sdedeo (tips) 00:22, 30 January 2006 (UTC)

  • Support bmills' suggestion. "Theoretical foundations" combined with "in computer systems" in that sentences does not exclude the empirical paradigm, which is my main concern. It is a way for the different paradigms to coexist. — Dzonatas

Sdedeo, I wasn't annoyed. I was alerted by some actions. We have to give feedback. It was not meant to make you feel like you had to appologize. My bad. — Dzonatas 00:52, 30 January 2006 (UTC)

medcabal 4

OK, I'm back. It seems that people have solved problems for themselves, which is great.

As far as I can tell, the following:

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.

has the support of Powo, Allen and bmills; it has Dz's desired "computer systems", and I think it might get Ruud's.

Just as a side note, figuring out the truth by allowing google to "vote" on various sentences is problematic: [64] [65]. On the other hand, I may have been too quick to drop that magical phrase "computer systems" as lacking support, which has annoyed Dz; I'm sorry about that.

OK, so what I'm going to do at this point is wait for five hours or so. If anybody has serious objections to this sentence, other than its "camel" nature which I think is unavoidable, please pipe up now with a modified version of this sentence in this section. Sdedeo (tips) 00:11, 30 January 2006 (UTC)

  • Support - As I said, I'm happy with this one too. --Allan McInnes 00:47, 30 January 2006 (UTC)
  • Weak support. Minor nitpicks: The defintion would be just as true without the in computer systems part and even looses some generality because of it (e.g. implementation of computation would no longer refer to the design of programming languages). Also the rest of the introdution would explicitly need to mention that computer science does not deal with the design, implentation and application of computer systems themselves. I find this defintion acceptable (although on the edge of) but do not expect me to defend it, or name some computer scientists who study the implementation of computation in computer systems. —Ruud 01:00, 30 January 2006 (UTC)
Would "computing systems" be more palatable? It has (to me at least) a broader interpretation than "computer systems", and could be considered to include things like programming languages. Still retains the flavour of what I think Dz is trying to ensure gets included. --Allan McInnes 01:46, 30 January 2006 (UTC)
I don't think this would really change the meaning of the sentence for most people, so if we are going with it, I'd prefer simply "computer systems". —Ruud 02:19, 30 January 2006 (UTC)
Fair enough. Just trying to find something that might be more agreeable. I'd prefer to have "in computer systems" removed altogether, but I don't think we're going to get that. --Allan McInnes 03:10, 30 January 2006 (UTC)
  • Support bmills' suggestion. "Theoretical foundations" combined with "in computer systems" in that sentences does not exclude the empirical paradigm, which is my main concern. It is a way for the different paradigms to coexist. — Dzonatas
  • Weak support. I would prefer that "in computer systems" be removed as suggested by Ruud, for the same reasons. But I am very pleased with the redefinition using "theoretical foundations". -- Evanx 02:49, 30 January 2006 (UTC)
  • Support (obviously — I wrote it). While the application of information and computation aren't restricted to computer systems, exotic applications could (at this point) be considered mainly theoretical, in which case they're still included (win!). For the record, Ruud, my research focus is in the design of programming languages, and I consider that to be included under "theoretical foundations". --bmills 05:01, 30 January 2006 (UTC)

OK, so we have no objections (though definitely we can acknowledge that not everyone is perfectly happy with this; I am, because it means you can all get on to more important things.) I am going to go with it (we haven't heard from Powo, but I am going to assume he is good to go, it's been more than a few hours.) What I am going to do is put this in, archive a big chunk of this discussion, and leave some final remarks. Sdedeo (tips) 05:35, 30 January 2006 (UTC)

medcabel: computation vs. software

  • We can work with the mediator's suggested compromise: "Computer science is the study of algorithms[66], computation[67], information[68] structures, and computer systems[69]." There is doubt about its perfection as with the definition that is on the article. This kind of doubt, nevertheless, is really the fact that there is no perfect definition. Several authors have studied and written directly about the diversity of computer science and why it has happened; hence, it is not some pseudoscience within this group here why we have different viewpoints. Even as stated in the abstract of the publishment Research paradigms in computer science, "... the diversity of research paradigms in computer science may be responsible both for our difficulties in deciding how computer scientists should be trained and for divergences of opinion concerning the nature of computer science research."
  • One consideration may be not to suggest what computer is but to start off with the a definition of what it is not. For example, a definition that starts as "Computer science is not just about computers" is directly to the point on every viewpoint I've seen expressed here. The opener can continue to point out its diversity in the next few sentences. It could conclude with a link to Diversity in computer science, which needs more content in itself.
  • One particular issue I have noticed about the word "computation" is that it a subset, or subsets, from the "formal definition for a process. We could say "Computer science is the study of processes" and that would cover computation and more. It even passes the google test. This, however, is different from what can be computationally modelled. "Computation" provides insight at general, but that general sense makes it kind of ambiguous of what it models. Some have said that such ambiguity is a feature of the word in that it freely describes CS. Consequently, this implies that only by the study of computation may one know CS. These computations and models are only one of many paradigms.
  • In Software as Science - Science as Software, there are several standpoints, comparisons, and contrasts made, for example: (I suggest to read the article before my annotations)
There are two features of the situation which have implications for how we might approach the history of software. First, as COSERS itself observed, "[E]ven though all the levels of the hierarchy which computer systems can be interpreted as algorithms, the study of algorithms and the phenomena related to computers are not coextensive, since there are important organizational, policy, and nondeterministic aspects of computing that do not fit the algorithmic mold."[33] The observation raises the questions of what mold those aspects do fit, that is to say, what science, if any, encompasses the phenomena not covered by algorithms. The second feature is the complexity of computer systems that seems to place even their algorithmic aspects beyond the reach of mathematics. The first feature has implications for software as engineering, the second for science as software.
This starts a contrast that states a paradigm (like in the computation paradigm pointed above) in which computers are purely mathematical machines is "misleading."
[The real world physical system] is where the bulk of the crucial errors have been made, and that is where software engineering has focused its attention since the 1970s. But that is also where the science of software moves away from the computer into the wider world and interacts with the sciences (if they exist) pertinent to the systems to be modeled computationally. There it becomes a question of how to express those sciences computationally and of how to evaluate the fit between the target system and the computational model.[35] But that is a question that software engineers share with scientists who have turned to the computer to take them into realms that are accessible neither to experiment nor to analytical mathematics. Intellectually, professionally, and historically, it links software as science to science as software.
It further states later on:
However, the model would only bring insight if one understood how the mathematics worked, if not analytically, at least computationally. But here again, the state of knowledge posed a barrier to understanding, as that approach encountered difficulties.
That reiterates how the insight on computation and how it leads to algorithms, data structures, computer systems and so-on is not so intuitive even by those well-versed in mathematics. The article further explains how the generalizations by mathematics (and mathematicians) becomes their vision; hence, these visions are not historic fact, but they are their goals.
We can use "computation," but it it can not exclude the historic facts of computer science in the definition. In "CS is the study of computation and information," the study of computation relates the goal and expects the reader to understand the insight. It further expects the reader to associate such insight to data structures, algorithms, and so-on. It further asks the reader to understand this is an encyclopedia, a compendium of knowledge based on historic facts, that it is not a historic fact that by the study of computation ones acheives full insight on computer science (as noted above). Further, it asks the reader to understand it is a historic fact of how there are disciplines of computer science that use the study of computation as its main tool to acheive insight. I doubt any selection of readers have a equal acquirement on this implication from only stated "study of computation" and what little else is presented in the article.
In some instances, the science of computation has laid the groundwork for computational science.
There is a distinction. Computer science is seen to spin off computational science.
... it is hard to see how to distinguish the science of programs and programming from programming itself. As maligned as the dichotomy between "pure" and "applied" has recently become, it perhaps retains some value here. It is a question of focus and motivation. Does one want to understand the nature of programs and programming, or does one write programs for the purpose of achieving or understanding something else? In the latter case, the science applied offers no insight into computational questions. Indeed, as I argue in conclusion, the software more often becomes a means of investigating the science, even to the point of replacing the science's real-world objects.
This hints on why I do not exclude computation from the science:
In the course of the discussion, participants asserted several principles as indisputable, in particular that science is about nature, not about things of our own creation, and that mathematics is not a science, but a tool for doing science. From the first, some people concluded that, as an artifact, software could not be the subject of a science; from the second, that grounding software in mathematics did not make a science of it. Despite my own insistence on computers and programs as artifacts, neither of these principles is quite as firm as it seems. Much of the work in history of science over the past half-century speaks against them.
The document further goes into the empirical:
Others have taken a more empirical approach, believing that mathematics is not adequate to explain what computers can do, especially when we have not told them (or do not believe we have told them) to do it. But, as envisioned by Herbert Simon, the empirical science of computational processes would be no less scientific for being empirical and, indeed, a science of the artificial.
Obviously, I am not alone on my stance even if a few other wikipedians here feel I am the only one.
So too with the theory of computation. Does it have laws? Surely Turing's halting theorem sets a limit on what can be computed by demonstrating what cannot be. Showing that a problem is equivalent to the halting problem relegates it to the realm of the incomputable. Similarly, the theory of computational complexity establishes through a variety of models of limited Turing machines what resources are required to compute classes of problems and the tradeoffs between time and space involved in doing so. Are these scientific results about nature? Well, there's a body of literature that says yes. It is a tenet of the new computational sciences that nature can't compute any better than a Turing machine. Or rather, anything nature can do, a computer can do too, given enough time and memory.
That makes the distinction between computation and software:
Are these laws of software? In discussing the implications of software as science for software as engineering, I addressed the limits of theoretical computer science in addressing the software development process. That process begins with the translation of a portion of the real world into the first of a series of computational models which culminate in a program running on a specific machine. Verification of the result involves two different issues: the goodness of the computational model with respect to the world it is supposed to model and the accuracy of the translation of that model into the instruction set of the computer on which it is running. Whether the model itself is adequate is ultimately not a question of software but of the developer's understanding of the world. It may be a scientific question, but the science involved is not about software or computers. The science of software as I have construed it pertains to the second issue. It begins where the model becomes a program: how, and to what extent, can we assure ourselves that the program is doing what we have written it to do? How that question has been formulated and addressed is the subject of the history of software as science
There are those who model computation after nature to develop software programs, and there are those that program software to explore nature. Both are within computer science.
  • It was kind of lengthy, but I wanted to put forth the idea how "computer systems," being hardware, software, and other kinds of systems, is similiar to "the phenomena of computers." We can subsitute "computer systems" for "the phenomena of computers," yet the later emphasizes the scientific observation. Without my own original research, the above article shows how "computer systems" is distinct from "computation" and "information" and can not be left out of the presented definition of computer science. — Dzonatas 18:49, 29 January 2006 (UTC)

Dz, I don't have time to read this. Please see the previous header, and let us know what you feel about the two proposed sentences. Sdedeo (tips) 19:07, 29 January 2006 (UTC)

  • About the new compromises, which I didn't see before my previous post: they do work in the right direction. My suggestion from those is a combination of the two:
"Computer science is the study of the implementation of computation and phenomena related to computers." — Dzonatas
CS is not just about implementation and computers themselves; "computer systems" as part of a study of CS tends to focus on implementing and optimizing software to run on systems. CS does include implementation, but it also includes a lot of other things that have very little to do with implementation or "phenomena related to computers"; for example, lambda calculus. My proposal includes the current definition (which I believe to be sufficient) and a specific reference to computer systems (as you seem to want), in the context in which a computer scientist studies computer systems (not the "can you fix my printer?" sense).
That aside, "phenomena related to computers" just doesn't seem very encyclopedic to me. --bmills 19:47, 29 January 2006 (UTC)
The term is incredibly vague and "unresponsive". There is a distinct lack in providing a concise impression to the reader. -- Evanx 20:13, 29 January 2006 (UTC)

Phenomena is not vague in terms of science. — Dzonatas 20:23, 29 January 2006 (UTC)

For the sake of Dz.
Phenomenon. Noun. (Plural, phenemona).
1. An occurrence, circumstance, or fact that is perceptible by the senses.
2. (Plural) phenomenons
a. An unusual, significant, or unaccountable fact or occurrence; a marvel.
b. A remarkable or outstanding person; a paragon.
3. {Philosophy) In the philosophy of Kant, an object as it is perceived by the senses, as opposed to a noumenon.
4. {Physics) An observable event.
Source: www.dictionary.com
-- Evanx 21:47, 29 January 2006 (UTC)
Phenomena, n.: an observable event. Whatever the word may be, it's definitely not very specific. Without a strong supporting context, it doesn't communicate much of anything. --Piet Delport 20:47, 29 January 2006 (UTC)
In fact, even a computer crash is a phenomena that fits Dz's description but is totally unrelated. -- Evanx 20:54, 29 January 2006 (UTC)
Computation, n.: The act of operating a computer. So by Evanx's prefered definition, anybody who pushed a button to cause that crash is a computer scientist. — Dzonatas 21:18, 29 January 2006 (UTC)
You are exceedingly cunning. According to dictionary.com the following is the definition of computation (which of course should not serve as a basis for this article, it's a dictionary, not an encylopedia):
1a: The act of process of computing
1b: A method of computing
2: The result of computing
3: The act of operating a computer
To choose the last version and use it in that example is ridiculous. If you failed to understand the nuance behind my comment (and the lack thereof in critising you), I suggest you look up the definition of juxtaposition. -- Evanx 21:36, 29 January 2006 (UTC)
Your tonal dacadence ineluctiates support. — Dzonatas 22:15, 29 January 2006 (UTC)
What you just said makes no sense at all. Can you please rephrase? --Jonovision 23:49, 29 January 2006 (UTC)
"The tone of your expression carries a state of decay for which support has no escape." It's expressed better the other way. Nothing bad. — Dzonatas 01:03, 30 January 2006 (UTC)

Definition resolution

You are all weirdos.

Dear all -- there was a long and extended debate on the exact nature of the sentence beginning the article. I was brought in as part of medcabal; see: [70]. After a lot of work by everyone, we have arrived at a consensus solution (we took a brief poll and there were no objections, though there were definitely a few "weak supports"); the consensus is:

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.

The long discussion which produced this consensus is here. There is a lot of material there, and a good amount of interesting discussion; please consider reading it when updating discussions within the article about definitional issues. Sometimes archiving talk pages can be controversial; I don't mean to be "sneaky" -- I'm just trying to clear up the talk page so that it can be used for other discussions.

Let me add a few brief thoughts of my own:

  1. There is no singular definition of computer science. There are many competing, sometimes contradictory definitions. I am happy to see that not only is there extensive and sourced discussion of this elsewhere in the article, but there is a whole separate article discussing these issues in greater detail. All of the people involved in the dispute have a great deal to contribute to improving these things, and I hope they will continue to do so.
  2. Because of these things, please try not to place too much importance on this single sentence. This sentence doesn't mean that other definitions cannot be discussed elsewhere. Really this definition is only an "initial guide" to a reader coming in.
  3. There is definitely a certain amount of frustration going around, but we did manage to work together and resolve the dispute. It is not a perfect resolution (not everyone, indeed no-one but me, is saying that it's a super solution.) But surprisingly, we do I believe have something that will "stick" for the parties involved. On the internet, that is rare.

Thank you all very much for bearing with me, even when I've been a bit pushy myself.

Sdedeo (tips) 05:45, 30 January 2006 (UTC)