Saturday, January 10, 2009

What is Computer Science?

Britannica Concise Encyclopedia: Computer Science

http://www.answers.com/topic/computer-science

Computer Science is the study of computers, their design (see computer architecture), and their uses for computation, data processing, and systems control, including design and development of computer hardware and software, and programming. The field encompasses theory, mathematical activities such as design and analysis of algorithms, performance studies of systems and their components, and estimation of reliability and availability of systems by probabilistic techniques. Because computer systems are often too large and complicated for failure or success of a design to be predicted without testing, experimentation is built into the development cycle.


Computer Science Detailed Definition

http://www.bellevuelinux.org/computer_science.html 

Computer science is the study of the storage, transformation and transfer of information. The field encompasses both the theoretical study of algorithms (including their design, efficiency and application) and the practical problems involved in implementing them in terms of computer software and hardware. 

An algorithm is a detailed and unambiguous sequence of actions for solving a problem or for performing some task. Algorithms are essential to the way computers process information because a computer program is basically just an algorithm that tells the computer what specific steps to perform (and in what sequence) in order to carry out a specified task. 
Although its name contains the word science, computer science is usually considered to be a branch of engineering. This is in sharp contrast to most of the physical sciences, which separate the understanding and advancement of the science from its practical applications. Science is a technique for learning about the natural world by applying the principles of the scientific method (which includes making empirical observations, proposing hypotheses to explain those observations, and then testing those hypotheses); engineering is the application of science. 
Computers are virtually indispensable to the field of computer science. Yet, as Edsger Dijkstra, a pioneering computer scientist, so aptly put it, "Computer science is no more about computers than astronomy is about telescopes." 
Some of the major sub-specialties of computer science are algorithms and data structures, programming methodology and languages, software engineering, computer architecture, artificial intelligence, networking and communications, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics and operating systems.

Origins 

Computer science has its roots primarily in the fields of electrical engineering (i.e., electronics), mathematics and linguistics. It is still a relatively young field, mainly because it was only about a half century ago that electronics technology became sufficiently advanced to allow the construction of even primitive electronic computing devices. 

Mechanical devices have long been employed to increase the efficiency of calculation. For example, the abacus was likely in use in Mesopotamia (the southern part of modern Iraq) by as early as 3000 B.C. And the ancient Greeks apparently possessed some surprisingly sophisticated mechanical computers, such as the geared device found by a Greek sponge diver off the isle of Antikythera in 1901 *1

However, the beginning of computer science is generally placed in the 1940s. At that time, World War II stimulated the development of the first digital electronic computers, particularly for use in calculating trajectories for projectiles and in breaking codes. Thus, it has only been a few decades since computer science became recognized as a distinct discipline and developed its own terminology and methods. 

The word computer itself has been around for much longer than the type of device to which the term refers today. It originally referred to a person whose profession was to spend all day performing calculations, such as for creating tables of trajectories. (This would be considered a very tedious profession today.) After World War II, dictionaries began defining the word computer in terms of a machine as well as a person. 

Computer science in universities was initially treated as a branch of mathematics and not as a separate discipline. The first computer science department in the U.S. was established in 1962 at Purdue University, and today most universities today have separate (and thriving) departments devoted to this field. 

Linguistics is the study of languages, including their structure and evolution. An understanding of the structure of spoken languages and writing systems is crucial to computer science because of (1) the need to design efficient artificial languages, i.e., programming languages, for developing computer software, (2) the fact that written language (i.e., text) is still the main form of input and output for computers despite the success of GUIs (graphical user interfaces), (3) the fact that computers are used increasingly for natural language processing (e.g., comprehending and responding to human speech), (4) the growing demand for software that can easily be adapted to any human language (i.e., internationalization) and (5) the increasing demand for software that can provide high quality translations between various written and spoken human languages. 

Causes of Advance in Computer Science 

As is the case with the other sciences and fields of engineering, the understanding and application of virtually all aspects of computer science are continuing to advance and are showing no signs of slowing down. And nobody can predict if or when they ever will slow down. 

A major factor stimulating and facilitating this relentless progress has been the continuous advance in computers themselves, particularly with respect to computational power and speed. This, in turn, is a result of advances in both computer science and electronics. The latter are particularly the result of the ability to fabricate semiconductor devices, mainly microprocessors and memory chips, with ever-finer circuit line widths and thus higher degrees of device integration (i.e., more transistors and other circuit elements per chip). 

These advances in electronics, in turn, are heavily dependent on the continued breakthroughs in the fields of materials science and production technology. The higher degrees of device integration have been making possible the continued surge in processing speeds and memory capacities simultaneously with reductions in the cost (including power consumption) of processors and memory. 

"Information Technology" 

There are several additional, commonly used terms related to the study of computers. The most popular of these is information technology (IT), which can be defined as the branch of technology devoted to the study and application of data and the processing thereof. IT can also be thought of as applied computer systems, including both hardware and software, usually in the context of a business or other enterprise, and often including networking and telecommunications. The term computer science is usually reserved for the more theoretical, academic aspects of computing. 

Another commonly used term, information systems (IS), refers to the application of computers to support the operations of businesses and other organizations. It includes the installation, operation and maintenance of computer hardware, software and data.  
________ 
1This device appears to have been used for calculating the motions of planets and other heavenly bodies. An excellent article about it by Derek J. de Solla Price was published in Scientific American, June 1959, p.60-7. An updated version can be found online at http://www.giant.net.au/users/rupert/kythera/kythera3.htm.


Computer Science

From Wikipedia, the free encyclopedia 

http://en.wikipedia.org/wiki/Computer_science

Computer science (or computing science) is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. Computer Science is frequently described as the systematic study of algorithmic processes that describe and transform information; the fundamental question underlying computer science is, 'What can be (efficiently) automated?'. Computer science has many sub-fields; some, such as computer graphics, emphasize the computation of specific results, while others, such as computational complexity theory, study the properties of computational problems. Still others focus on the challenges in implementing computations. For example, programming language theory studies approaches to describing computations, while computer programming applies specific programming languages to solve specific computational problems, and human-computer interaction, focuses on the challenges in making computers and computations useful, usable and universally accessible to people.


The general public sometimes confuses computer science with other vocational areas that deal with computers, such as information technology (IT), or think that it relates to their own experience of computers, which typically involves activities such as gaming, web-browsing, and word-processing.
However, the focus of computer science is more on understanding the properties of the programs used to implement software such as games and web-browsers, and using that understanding to create new programs or improve existing ones.

Computer Science: The Profession

http://www.csab.org/comp_sci_profession.html

Computer science is a discipline that involves the understanding and design of computers and computational processes. In its most general form it is concerned with the understanding of information transfer and transformation. Particular interest is placed on making processes efficient and endowing them with some form of intelligence. The discipline ranges from theoretical studies of algorithms to practical problems of implementation in terms of computational hardware and software. A central focus is on processes for handling and manipulating information. Thus, the discipline spans both advancing the fundamental understanding of algorithms and information processes in general as well as the practical design of efficient reliable software and hardware to meet given specifications. Computer science is a young discipline that is evolving rapidly from its beginnings in the 1940's. As such it includes theoretical studies, experimental methods, and engineering design all in one discipline. This differs radically from most physical sciences that separate the understanding and advancement of the science from the applications of the science in fields of engineering design and implementation. In computer science there is an inherent intermingling of the theoretical concepts of computability and algorithmic efficiency with the modern practical advancements in electronics that continue to stimulate advances in the discipline. It is this close interaction of the theoretical and design aspects of the field that binds them together into a single discipline.

Because of the rapid evolution it is difficult to provide a complete list of computer science areas. Yet it is clear that some of the crucial areas are
theory, algorithms and data structures, programming methodology and languages, and computer elements and architecture. Other areas include software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics, operating systems, and numerical and symbolic computation.

A professional computer scientist must have a firm foundation in the crucial areas of the field and will most likely have an in-depth knowledge in one or more of the other areas of the discipline, depending upon the person's particular area of practice. Thus, a well educated computer scientist should be able to apply the fundamental concepts and techniques of computation, algorithms, and computer design to a specific design problem. The work includes detailing of specifications, analysis of the problem, and provides a design that functions as desired, has satisfactory performance, is reliable and maintainable, and meets desired cost criteria. Clearly, the computer scientist must not only have sufficient training in the computer science areas to be able to accomplish such tasks, but must also have a firm understanding in areas of mathematics and science, as well as a broad education in liberal studies to provide a basis for understanding the societal implications of the work being performed.


No comments:

Post a Comment