Computer science

The Television & Movie Wiki: for TV, celebrities, and movies.

Image:Lock-icon.jpg This page is protected from editing until disputes have been resolved on the discussion page.
Protection is not an endorsement of the current page version. Please discuss changes on the talk page or request unprotection.


Computer science, an academic discipline (abbreviated CS or compsci), is a body of knowledge generally about computer hardware, software, computation and its theory. The discipline itself includes, but is not limited to, the fundamentals of computer languages, operating systems and mathematical foundations of computer science. The study of these fundamentals may lead to a wide variety of topics, such as algorithms, formal grammars, programming languages, program design, artificial intelligence and computer engineering.

There exist a number of technical definitions of computer science. The status of computer science as a science is often challenged, typically arguing that it is more like mathematics and that it does not follow the scientific method, however these facts are not unanimously accepted. In popular language, the term computer science is often confusingly used to denominate anything related to computers.

Contents

History of computer science

Main article{{qif
|test={{{2|}}}|then=s}}: {{qif
 |test={{{1|}}}
 |then=History of computer science

}}{{qif

 |test={{{2|}}}
 |then={{{else{{{test|}}}|{{{test{{{test|}}}|{{{then|}}}}}}}}}}|then=, |else= & }}[[{{{2}}}]]

}}{{qif

 |test={{{3|}}}
 |then={{{else{{{test|}}}|{{{test{{{test|}}}|{{{then|}}}}}}}}}}|then=, |else= & }}[[{{{3}}}]]

}}{{qif

 |test={{{4|}}}
 |then={{{else{{{test|}}}|{{{test{{{test|}}}|{{{then|}}}}}}}}}}|then=, |else= & }}[[{{{4}}}]]

}}{{qif

 |test={{{5|}}}
 |then= & [[{{{20}}}]]

}}

Evolutionary

Before the 1920s, computers were human clerks that performed calculations. They were usually under the lead of a physicist. Many thousands of computers were employed in commerce, government, and research establishments. Most of these computers were women, and they were known to have a degree in calculus.

After the 1920s, the expression computing machine refered to any machine that performed the work of a human computer, especially those in accordance with effective methods of The Church-Turing Thesis. The thesis states that a mathematical method is effective if it could be set out as a list of instructions able to be followed by a human clerk with paper and pencil, for as long as necessary, and without ingenuity or insight.

Machines that computed with discrete values became known as the analog kind. They used machinery that represented discrete numeric quantities, like the angle of a shaft rotation or difference in electrical potential.

Digital machinery, in contrast to analog, were able to render a state of a numeric value and store each individual digit. Digital machinery used difference engines or relays before the invention of faster memory devices.

The phrase computing machine gradually gave away, after the late 1940s, to just computer as the onset of electronic digital machinery became common. These computers were able to perform the calculations that were performed by the previous human clerks.

Since the values stored by digital machines were not bound to physical properties like the analog device, a logical computer, based on digital equipment, was able to do anything that could be described "purely mechanical." Alan Turing, known as the Father of Computer Science, invented such a logical computer, also known as a Turing Machine, that evolved into the modern computer from the tasks performed by the previous human clerks. These new computers were also able to perform non-numeric computations, like music.

Computability, by logical computers, began a science by being able to make evident which was not explicitly defined into ordinary sense more immediate.

Academic discipline

Computer science has roots in electrical engineering, logic, mathematics, and linguistics. In the last third of the 20th century computer science emerged as a distinct discipline and developed its own methods and terminology. Originally, CS was taught as part of mathematics or engineering departments, for instance at the University of Cambridge in England and at the Gdansk University of Technology in Poland, respectively. Cambridge claims to have the world's oldest taught qualification in computing. The first computer science department in the United States was founded at Purdue University in 1962, while the first college entirely devoted to computer science was founded at Northeastern University in 1982. Most universities today have specific departments devoted to computer science, while some conjoin it with engineering, with applied mathematics, or other disciplines.

Most research in computer science has focused on von Neumann computers or Turing machines (computation models that perform one small, deterministic step at a time). These models resemble, at a basic level, most real computers in use today. Computer scientists also study other models of computation, which includes parallel machines and theoretical models such as probabilistic, oracle, and quantum computers.

Careers

Some of the potential careers for those who study computer science are listed below:

Systems analysts solve computer problems and apply computer technology to meet the individual needs of an organization
Computer programmers design and update the software that runs a computer
Programmer-analysts work both as a computer programmer and as a systems analyst
Telecommunication specialists design and maintain the network between computers and the interaction between people and computers
Network specialists focus more on a local area network than the Telecommunication specialist (a.k.a. Network Administrator)
Web developers are responsibile for the design, development, and maintenance of World Wide Web sites
Computer scientists work as theorist, researchers, or inventors and are distinguished by their higher-level of theoretical expertise or by their innovative new technology
Database administrators design and manage computer database systems and related system security

Demographics

  • Nearly half of all computer programmers held a bachelor’s degree in 2002; about 1 in 5 held a graduate degree. [1]
  • Computer programmer employment is expected to grow much more slowly than that of other computer specialists.
  • Education requirements range from a 2-year degree to a graduate degree. [2]
  • Employment, other than computer programmer, is expected to increase much faster than the average as organizations continue to adopt increasingly sophisticated technologies.

Sub-disciplines of computer science

Computer Science has a number of major sub-fields which can be classified by a number of means (for example the ACM classification system).

Algorithms

The study of algorithms is aimed at creating techniques that will enable a computer to perform a certain task in an efficient manner. An algorithm is a set of well-defined instructions for accomplishing some task, often explained by analogy with a culinary recipe. Algorithms are often implemented in software, and advancing the state of the art in algorithms is responsible for many of the most spectacular successes in computing.

An algorithms specialist may come up with methods to accomplish new tasks, but just as often, they will work on improving the efficiency of an existing algorithm. These improvements can come in "time" (the length of time it takes for the algorithm to work) and "space" (the amount of computer memory the algorithm consumes.

The field of algorithms is highly formal and many things can be proved about a given algorithm (using complexity theory), including roughly how long it will take to complete, as compared to the size of its input (the number of options it must consider). One interesting open question in algorithms concerns the complexity classes P and NP, and whether or not P = NP. If it does, then a whole range of seemingly difficult algorithms can in theory be performed quickly.

Data structures

A data structure is a way to store data so that it can be remembered and retrieved efficiently. A well-designed data structure means that an algorithm can be performed using as little memory space and time as possible.

Some data structures are very simple: the simplest is an array which is simply a numbered list of items. Since the memory of a computer is usually modelled as an array (of bytes), this is also one of the most important data structures in computer science. For example, strings of text are usually modelled as arrays. But there are many other data structures such as linked lists, trees, hash tables and many others that are quite different but critical to the science.

Type theory classifies data at a most basic (mathematical) level into different types, such as integers, complex numbers, strings, etc. and deals with how those types can interact. Abstract data types, at a more concrete level, deal with how types and data structures are used in software programming.

Listing of sub-disciplines

Computer science is closely related to a number of fields. These fields overlap considerably, though important differences exist:

Algorithms techniques to enable a computer to efficiently perform a specific task
Artificial intelligence implementation and study of systems that exhibit (either behaviourally or seemingly) an autonomous intelligence or behaviour of their own, sometimes inspired by the characteristics of living beings. Computer science is closely tied with AI, as software and computers are primary tools for the development and progression of artificial intelligence
Bioinformatics or computational biology, is the use of techniques from applied mathematics, informatics, statistics, and computer science to solve biological problems
Computer engineering analysis, design, and construction of computer systems (including computer hardware and computer networks).
Computer graphics field of visual computing, where one uses computers both to generate visual images synthetically and to integrate or alter visual and spatial information sampled from the real world
Computer programming the act of writing program code
Computer vision the act of computers extracting three dimensional objects from a two dimensional picture
Computing overarching term for all of these related fields with CS
formal grammar abstract structure that describes a formal language precisely
Information science or Informatics is the study of data and information, which includes how to create, interpret, analyze, store, retrieve, transfer, and manage it. Information science started as the scientific foundation for communication and databases. It also concerns about the ways people generate, use and find information (see cognitive science)
Information security analysis and implementation of information system security, like cryptography.
Information retrieval the art and science of searching for information in documents, searching for documents themselves, searching for metadata which describes documents, or searching within databases, whether relational stand alone databases or hypertext networked databases such as the Internet or intranets, for text, sound, images or data
Information systems application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data
Information technology an overarching term for all of these related fields with CS.
Lexicography focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries
Linguistics study of languages; it converges with computer science in such areas as programming language design and natural language processing
Logic a formal system of reasoning, and studies principles that lay at the basis of computing machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels
Management information systems subfield of information systems, that emphasizes financial and personnel management
Mathematics shares many techniques and topics with computer science, but is more general. Theoretical computer science is the mathematics of computing
Software engineering emphasizes specification, analysis, design, construction, and testing of useful software applications. Software engineering includes development methodologies (such as the waterfall model and extreme programming) and project management

Major fields of importance for computer science

Mathematical foundations

Theoretical computer science

Hardware

Computer systems organization

Software

Data and information systems

Data structures – Data storage representations – Data encryption – Data compression – Data recovery – Coding – Information theory – Files – File formats – Information systems – Databases – Information Storage – retrieval – Information Interfaces and Presentation

Computing methodologies

Computer Applications

Computing milieux

See also

External links

Wikibooks has more about this subject:
[[wikibooks:{{{1|Special:Search/Computer science}}}|{{{1|Computer science}}}]]

ar:علم الحاسوب ast:Informática bs:Informatika bg:Информатика bn:কম্পিউটার বিজ্ঞান br:Urzhiataerezh ca:Informàtica cs:Informatika (počítačová věda) csb:Infòrmatika da:Datalogi de:Informatik el:Επιστήμη Υπολογιστών es:Informática eo:Komputiko et:Informaatika fa:علم رایانه fr:Informatique fy:Ynformatika ga:Ríomheolaíocht gl:Informática he:מדעי המחשב ko:컴퓨터 과학 hr:Računarstvo id:Ilmu komputer ia:Informatica ie:Informatica io:Informatiko it:Informatica iu:ᑐᓴᐅᒪᖃᑦᑕᐅᑎᔾᔪᑎᓂᒃ ᐊᐅᓚᑦᑎᔩᑦ jbo:samske lb:Informatik hu:Számítástechnika li:Informatica ml:കംപ്യുട്ടര്‍ ശാസ്ത്രം nl:Informatica ja:情報工学 lv:Datorzinātne no:Informatikk oc:Informatica pl:Informatyka (technika) pt:Ciência da computação ro:Informatică ru:Информатика simple:Computer science sl:Računalništvo sr:Рачунарство fi:Tietojenkäsittelytiede sv:Datavetenskap tl:Agham pangkompyuter th:วิทยาการคอมพิวเตอร์ vi:Khoa học máy tính tr:Bilişim bilimi zh:计算机科学

Personal tools