Portal:Computer science
From Wikipedia, the free encyclopedia
Arts · Biography · Geography · History · Mathematics · Philosophy · Science · Society · Technology
Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. Many diverse fields exist within the broader discipline of computer science; some emphasize the computation of specific results (such as computer graphics), while others (such as computational complexity theory) relate to properties of computational problems. Still others focus on the challenges in implementing computations. For example, programming language theory studies approaches to describing a computation, while computer programming applies specific programming languages to craft a solution to some concrete computational problem.
In mathematics and computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm are important in computing, and this depends on suitable data structures.
Informally, the concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison). In most higher level programs, algorithms act in complex patterns, each using smaller and smaller sub-methods which are built up to the program as a whole. In many programming languages, algorithms are implemented as functions or procedures.
The concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common divisor of two numbers or multiplying two numbers. The concept was formalized in 1936 through Alan Turing's Turing machines and Alonzo Church's lambda calculus, which in turn formed the foundation of computer science.
Most algorithms can be directly implemented by computer programs; any other algorithms can at least in theory be simulated by computer programs.
- ...that C was called "God's Programming Language" in the Glossary of The OpenGL Programmers Guide aka The Red Book?
- ...that Mel Kaye is immortalized as the archetypical "real programmer"?
- ...that it's impossible to decide for all programs whether they finish running or will run forever?
Alan Mathison Turing (June 23, 1912 – June 7, 1954) was a British mathematician, logician, and cryptographer. Turing is often considered to be the father of modern computer science.
With the Turing test, Turing made a significant and characteristically provocative contribution to the debate regarding artificial intelligence: whether it will ever be possible to say that a machine is conscious and can think. He provided an influential formalisation of the concept of algorithm and computation with the Turing machine, formulating the now widely accepted "Turing" version of the Church–Turing thesis, namely that any practical computing model has either the equivalent or a subset of the capabilities of a Turing machine. During World War II, Turing worked at Bletchley Park, Britain's codebreaking centre and was for a time head of Hut 8, the section responsible for German Naval cryptanalysis. He devised a number of techniques for breaking German ciphers, including the method of the bombe, an electromechanical machine which could find settings for the Enigma machine.
After the war, he worked at the National Physical Laboratory, creating one of the first designs for a stored-program computer, it was never actually built. In 1947 he moved to the University of Manchester to work, largely on software, on the Manchester Mark I then emerging as one of the world's earliest true computers.
In 1952, Turing was convicted of acts of gross indecency after admitting to a sexual relationship with a man in Manchester. He was placed on probation and required to undergo hormone therapy. When Alan Turing died in 1954, an inquest found that he had committed suicide by eating an apple laced with cyanide.
- Algebra
- Algorithms
- Artificial intelligence
- Awards
- Competitions
- Compiler theory
- Computational science
- Computer engineering
- Computer programming
- Computer science
- Computer scientists
- Concurrency
- Conferences
- Cryptography
- Education
- Human-computer interaction
- Information science
- Literature
- Optimization
- Software engineering