Computing Disiplines
From
(→What is Computer Science?) |
(→Computer Science) |
||
Line 34: | Line 34: | ||
- | Computer science is considered by some to have a much closer relationship with mathematics than many scientific disciplines. Early computer science was strongly influenced by the work of mathematicians such as Kurt | + | Computer science is considered by some to have a much closer relationship with mathematics than many scientific disciplines. Early computer science was strongly influenced by the work of mathematicians such as Kurt Godel and Alan Turing, and there continues to be a useful interchange of ideas between the two fields in areas such as mathematical logic, category theory, domain theory, and algebra. |
The relationship between computer science and software engineering is a contentious issue, which is further muddied by disputes over what the term "software engineering" means, and how computer science is defined. David Parnas, taking a cue from the relationship between other engineering and science disciplines, has claimed that the principal focus of computer science is studying the properties of computation in general, while the principal focus of software engineering is the design of specific computations to achieve practical goals, making the two separate but complementary disciplines. | The relationship between computer science and software engineering is a contentious issue, which is further muddied by disputes over what the term "software engineering" means, and how computer science is defined. David Parnas, taking a cue from the relationship between other engineering and science disciplines, has claimed that the principal focus of computer science is studying the properties of computation in general, while the principal focus of software engineering is the design of specific computations to achieve practical goals, making the two separate but complementary disciplines. |
Revision as of 15:16, 26 March 2009
Contents |
What is Computer Science?
"Computer science is no more about computers than astronomy is about telescopes." Quote from the highly regarded computer scientist Edsger Dijkstra
Background
Computer Science is a very young discipline of study (compared to many other sciences). In it's early years, computer science struggled for legitimacy in many institutions and was the "umbrella" discipline for just about any topic related to computing. It was, after all, a new discipline (in the 1950's-1970's) without the historical foundations and scientific rigor supporting most academic fields at the time. Partly as a result of the entry of computing technology into the cultural and economic mainstream, and partly due to the maturing scientific study of computation, the battle for legitimacy has largely been won.
As the study of computation has matured and gained legitimacy, it has also broadened in scope. Prior to the 1990's, computing was primarily focused on computer science. Over the years, an increasing number of fields have become part of a much larger, more encompassing discipline of computing. Computing is not just a single discipline but is a family of disciplines. This family of disciplines commonly includes: computer science (CS), information technology (IT), information systems (IS and MIS), software engineering (SE), computer engineering (CE), and a multitude of other sub-disciplines of each of these areas. During the 1990s, important changes in computing and communications technology and the impact of that technology on society led to important changes in this family of disciplines. With the ongoing growth of the various fields of computing, and the necessary specialization of the professionals, engineers, and scientists that are involved, Computer Science is now a much more focused disipline that can be characterized as the scientific study of the nature of computation.
The various Disiplines of Computing
Given this background, the following are brief characterizations of these disciplines; followed with more complete details from the 2005 ACM Computing Curricula report and Wikipedia.
Computer Science (CS): A scientific discipline focused on the study of the nature and characteristics of computation (which at it's core is the study of the nature and characteristics of algorithms).
Software Engineering (SE): An engineering discipline focused on the application of professional engineering practices and the application of scientific principles of computation to the design and construction of software solutions to real world problems.
Computer Engineering (CE): An engineering discipline focused on the application of professional engineering practices and the application of scientific principles in physics, electronics, and computation to the design and construction of computing hardware solutions to real world problems.
Information Technology (IT): A professional discipline focused on the application and management of computing systems to solve business/organizational problems (IT has a computing hardware and operating systems orientation to these solutions). Note: ITAA has adopted the following as a definition: "the study of computer-based information systems, particularly software applications and computer hardware."
Information Systems (IS): and Management Information Systems (MIS): Professional disciplines focused on the application and management of computing software systems to solve business/organizational problems (IS and MIS have software systems and information management orientations to these solutions; MIS has a greater emphasis in business knowledge, where IS has a greater emphasis in IT & SE knowledge).
Computer Science
The following is adapted from the Wikipedia definition of Computer Science:
Despite its name, much of computer science does not involve the study of computers themselves. In fact, the renowned computer scientist Edsger Dijkstra is often quoted as saying, "Computer science is no more about computers than astronomy is about telescopes." The design and deployment of computers and computer (hardware) systems is generally considered the province of disciplines other than computer science. For example, the study of computer hardware is usually considered part of computer engineering, while the study of commercial computer systems and their deployment is often called information technology or information systems. Computer science research has also often crossed into other disciplines, such as artificial intelligence, cognitive science, physics, and linguistics.
Computer science is considered by some to have a much closer relationship with mathematics than many scientific disciplines. Early computer science was strongly influenced by the work of mathematicians such as Kurt Godel and Alan Turing, and there continues to be a useful interchange of ideas between the two fields in areas such as mathematical logic, category theory, domain theory, and algebra.
The relationship between computer science and software engineering is a contentious issue, which is further muddied by disputes over what the term "software engineering" means, and how computer science is defined. David Parnas, taking a cue from the relationship between other engineering and science disciplines, has claimed that the principal focus of computer science is studying the properties of computation in general, while the principal focus of software engineering is the design of specific computations to achieve practical goals, making the two separate but complementary disciplines.