Computer science
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.
Key Points
The Church-Turing thesis states that all known kinds of general computing devices are essentially equivalent in what they can do, though they vary in efficiency. This thesis is sometimes characterized as the fundamental principle of computer science. Computer scientists usually emphasize von Neumann machines (computers that do one small 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 should communicate with people (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 have CS departments, today.
Computer science is no more about computers than astronomy is about telescopes – Edsger Dijkstra
Related fields
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 foundations of 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.