Computer science
simple:Computer science zh-cn: %E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6In its most general sense, computer science (CS) is the study of computation, both in hardware and in 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 and computer engineering, although the three 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 time and space efficiency. This thesis is sometimes treated as the fundamental principle of computer science. Computer scientists usually emphasize von Neumann computerss 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 which are all major pioneers in the field.
- Computer science is no more about computers than astronomy is about telescopes
Computer science is closely related to several other fields. These fields overlap considerably, though important differences exist
Related fields
Major subfields
Mathematical foundations
Theoretical computer science
Hardware
(see also electrical engineering)
Computer systems organization
(see also electrical engineering)
- Computer architecture
- Computer networks
- performance of systems
- computer system implementation
Software
- Computer program and Computer programming
- programming techniques
- Software engineering
- Optimization
- Software metrics
- Design patterns
- Programming languages
- Operating Systems
Data and information systems
- Data structures
- data storage representations
- data encryption
- Data compression
- coding and information theory
- files
- File formats
- information systems
- Databases
- information storage and retrieval
- information interfaces and presentation
Computing methodologies
- symbolic and algebraic manipulation
- Artificial intelligence
- Computer graphics
- Image processing and computer vision
- Pattern recognition
- simulation and modeling
- document and text processing
- Digital signal processing
Computer applications
- administrative data processing
- mathematical software
- physical sciences and engineering
- life and medical sciences
- social and behavioral sciences
- arts and humanities
- computer-aided engineering
- Robotics
- Human-computer interaction
Computing milieux
- the computer industry
- History of computing hardware
- computers and education
- computers and society
- legal aspects of computing
- management of computing and information systems
- personal computing
- Computer and information security
History
- History of computing
- Early programming projects
- Computer science departments
- Timeline of algorithms
Prominent pioneers in computer science
- John Backus Invention of FORTRAN, the first practical high-level programming language and the Backus-Naur form for describing formal language syntax.
- James Cooley and John Tuckey The Fast Fourier Transform and its impact on scientific research..
- Ole-Johan Dahl and Kristen Nygaard, inventors of the proto-object oriented language SIMULA.
- Edsger Dijkstra for algorithms, Goto cosidered harmful, rigor, and pedagogy.
- 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
- Ada Lovelace famous as the world's first ever computer programmer
- 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 also






