Related articles
Edit |
Discuss Article
Computer scienceIn its most general sense, computer science (CS or compsci) is the study of computation and information processing, both in hardware and in software. In practice, computer science includes a variety of topics relating to computers, which range from the abstract analysis of algorithms, formal grammars, etc. to more concrete subjects like programming languages, software, and computer hardware. As a scientific discipline, it differs significantly from mathematics, programming, software engineering, and computer engineering, although these fields are often confused.
- "Computer science is no more about computers than astronomy is about telescopes."
- - attributed to Edsger Dijkstra
- "Computer science is not as old as physics; it lags by a couple of hundred years. However, this does not mean that there is significantly less on the computer scientist's plate than on the physicist's: younger it may be, but it has had a far more intense upbringing!"
- - Richard Feynman
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 a fundamental principle of computer science. Most research in computer science has been related to von Neumann computerss or Turing machines (computers that do one small, deterministic task at a time). These models resemble most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel machines) and some theoretical (like random, oracle, and quantum machines).
Computer scientists study what programs can and cannot do (see computability and artificial intelligence), how programs should efficiently perform specific tasks (see algorithms), how programs should store and retrieve specific kinds of information (see data structures and data bases), and how programs and people should communicate with each other (see human-computer interaction and user interfaces).
Computer science 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 terminology.
The first computer science department in the United States was founded at Purdue University in 1962. The University of Cambridge in England, among others, taught CS prior to this, however at the time, CS was seen as a branch of mathematics, and not a separate department. Cambridge claims to have the world's oldest taught qualification in computing. Most universities today have specific departments devoted to computer science.
The highest honor in computer science is the Turing Award.
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 foundation of scientific analysis of communication and databases.
- Computer programming or software development is the act of writing program code.
- Lexicography and specialized lexicography focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries.
- Linguistics is the study of languages, converging with computer science in such areas as programming language design and natural language processing.
- Software engineering emphasizes analysis, design, construction, and testing of useful software. Software engineering can include development methodologies (such as the waterfall model and extreme programming) and software project management.
- Information systems (IS) is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data.
- Mathematics shares many techniques and topics with computer science, but is more general. In some sense, CS is the mathematics of computing.
- Logic is a formal system of reasoning, and studies principles that lay at the very basis of computing/reasoning machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels. The subfield of logic called computability logic provides a systematic answer to the fundamental questions about what and how can be computed.
- Computer engineering is the analysis, design, and construction of computer hardware.
- Information security is the analysis and implementation of information system security, including cryptography.
Major fields of importance for computer science
Mathematical foundations
Theoretical computer science
Hardware
(see also electrical engineering)
Computer systems organization
(see also electrical engineering)
Software
Data and information systems
Computing methodologies
Computer applications
History
Prominent pioneers in computer science
- Charles Babbage, Designed and built a prototype for a mechanical calculator; designed, but never built, the more powerful Analytical Engine.
- John Backus Invention of FORTRAN (Formula Translation), the first practical high-level programming language and the Backus-Naur form for describing formal language syntax.
- James W. Cooley and John W. Tukey 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 considered harmful, rigor, and pedagogy.
- C.A.R Hoare for the development of the formal language Communicating Sequential Processes (CSP) and Quicksort.
- Admiral Grace Murray Hopper, for doing pioneer work in the 1940s, one of the first to recognize the necessity for higher level programming languages, or what she termed automatic programming. She wrote the A-O compiler. Her ideas heavily influenced the COBOL language.
- 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 series.
- Ada Lovelace, contemporary of Charles Babbage, famous for her Sketch of the Analytical Engine, an analysis of Babbage's work; the namesake for the modern computer language, Ada.
- John von Neumann for devising the von Neumann architecture upon which most modern computers are based.
- Claude E. Shannon for Source | Copyright
|
 |
 |
 |
Webmasters: Add your website here:
Readers: Edit |
Discuss Listings
ResearchIndex The NECI Scientific Literature Digital Library indexes 300,000 on-line documents from home pages of scientists (submit your page), with 4 million citations. Citation-based browsing, related documents, directory by subject, full-text search. http://researchindex.org/cs
New Zealand Digital Library Indexes 50,000 on-line tech reports from institutions archives - full-text search. http://www.nzdl.org/fast-cgi-bin/cstrlibrary?a=p&p=about
FermiVista Indexes on-line articles from institutions archives - 300,000 in maths, computer science and physics - full-text search. http://www.math.rutgers.edu/%7esontag/fermi-eng.html
Springer Computer Science Springer books and journals in computing for scientists and students in computer science, as well as for computer professionals and experts. http://www.springer.de/comp/
Computing Reviews Secondary reference database of reviews in computing literature from the ACM. Limited information to non-subscribers. http://www.reviews.com/
BURKS Online Free online version of a CD-ROM set for computer science students. Includes libraries, compilers, tutorials, extensive reference materials, for over 24 languages. http://burks.bton.ac.uk/
The ACM Portal to Computing Literature The ACM Guide and Digital Library with a set of internal and external reference and citation links giving access to current research. http://portal.acm.org/
ComputerScienceWeb Articles from more than 110 journals in computer science, mainly Elsevier. Abstracts are free, full text requires subscription. http://www.computerscienceweb.com/
Topix.net: Computer Science News about computer science, collected from various sources on the web. http://rss.topix.net/rss/tech/computer-science.xml
NCSTRL - Networked Computer Science Technical Reference Library Indexes on-line technical reports from 150 institutions archives - open to institutions, or submit individual articles with the CoRR open repository. http://www.ncstrl.org
Collection of Computer Science Bibliographies Searchable collection of bibliographies, including 1 million citations and 100,000 links to on-line documents - submit new bibliographies. Browse by subject. http://liinwww.ira.uka.de/bibliography/
DBLP Computer Science Bibliography Indexes 200,000 citations from conferences and journals - submit tables of contents. http://dblp.uni-trier.de/
|