Jump to content

Computer science

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 202.156.2.139 (talk) at 07:16, 9 November 2003. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


In its most general sense, computer science (CS) is the study of computation, both hardware and software. In practice, CS includes a variety of topics relating to computers, which range from the abstract analysis of algorithms to more concrete subjects like programming languages, software, and computer hardware. As a scientific discipline, it is a very different activity from computer programming, although the two are often confused.

The Church-Turing thesis states that all known kinds of general computing devices are essentially equivalent in what they can do, although they vary in efficiency. This thesis is sometimes characterized as the fundamental principle of computer science. Computer scientists usually emphasize von Neumann computer or Turing machines (computers that do one small, deterministic task at a time), because that resembles most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel and quantum machines) and some theoretical (like random and oracle machines).

CS studies what programs can and cannot do (computability and artificial intelligence), how programs should efficiently evaluate specific results (algorithms), how programs should store and retrieve specific bits of information (data structures), and how programs and people should communicate with each other (user interfaces and programming languages).

CS has roots in electrical engineering, mathematics and linguistics. In the last third of the 20th century computer science has become recognized as a distinct discipline and has developed its own methods and terminologies.

The first computer science department was founded at Purdue University in 1962. Most universities today have CS departments.

The highest honor in computer science is the Turing Award, the winners of whom are all major pioneers in the field.

Computer science is no more about computers than astronomy is about telescopes
- Edsger Dijkstra

Computer science is closely related to several other fields. These fields overlap considerably, though important differences exist

  • Information science is the study of data and information, including how to interpret, analyze, store, and retrieve it. Information science started as the foundation of scientific analysis of communication and databases.
  • Software engineering emphasizes analysis, design, and construction of useful software using contemporary tools and practices.
  • Information systems is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data. Management information systems is a key subfield that emphasizes financial and personnel management.
  • Computer engineering is about the analysis, design, and construction of computer hardware.
  • Information security is about the analysis and implementation of information system security (cryptography is included).

Major subfields

Mathematical foundations

Theoretical computer science

Hardware

(see also electrical engineering)

  • control structures and Microprogramming
  • arithmetic and logic structures
  • memory structures
  • input/output and data communications
  • logic design
  • integrated circuits
  • performance and reliability
  • used laptops/notebook and spares [[1]]

Computer systems organization

(see also electrical engineering)

Software

Data and information systems

Computing methodologies

Computer applications

Computing milieux

History

Leading computer scientists

  • John Backus Invention of FORTRAN, the first practical high-level programming language.
  • James Cooley and John Tuckey The Fast Fourier Transform and its impact on scientific research..
  • Edsger Dijkstra for algorithms and rigor and pedagogy.
  • Gene Golub for matrix work
  • Alston Householder Contributions to the field of matrix computations. [see more on Householder in the MacTutor Biographies]
  • Kenneth Iverson Inventor of APL, for his contribution to interactive computing.
  • William Kahan for the IEEE floating-point standard. (Perhaps this reference should be moved to hardware engineering)
  • Donald Knuth for the Art of Computer Programming
  • John von Neumann for devising the von Neumann architecture.
  • Claude E. Shannon for information theory.
  • Alan Turing for computability theory.
  • James Wilkinson The technique of "backward error analysis" and advances in the field of matrix computations. Wilkinson was also a principal mover in the development of the Pilot ACE, the first British computer, in the late 1940s. (see more on Wilkinson in the MacTutor Biographies.)
  • Konrad Zuse Builder of the first binary computer in the 1930s, for which he devised a programming language well ahead of its times.

See list of computer scientists for additional notables.

See also