Computer science

Charles Babbage, sometimes referred to as the "father of computing".
Ada Lovelace published the first algorithm intended for processing on a computer.

Study of computation, automation, and information.

- Computer science
Charles Babbage, sometimes referred to as the "father of computing".

91 related topics

Alpha

Euler diagram for P, NP, NP-complete, and NP-hard set of problems (excluding the empty language and its complement, which belong to P but are not NP-complete)

P versus NP problem

Major unsolved problem in computer science.

Major unsolved problem in computer science.

Euler diagram for P, NP, NP-complete, and NP-hard set of problems (excluding the empty language and its complement, which belong to P but are not NP-complete)
The graph shows the running time vs. problem size for a knapsack problem of a state-of-the-art, specialized algorithm. The quadratic fit suggests that the algorithmic complexity of the problem is O((log(n))2).
Diagram of complexity classes provided that P ≠ NP. The existence of problems within NP but outside both P and NP-complete, under that assumption, was established by Ladner's theorem.

The problem is considered by many to be the most important open problem in computer science.

Dijkstra in 2002

Edsger W. Dijkstra

Dutch computer scientist, programmer, software engineer, systems scientist, science essayist, and pioneer in computing science.

Dutch computer scientist, programmer, software engineer, systems scientist, science essayist, and pioneer in computing science.

Dijkstra in 2002
The Eindhoven University of Technology, located in Eindhoven in the south of the Netherlands, where Dijkstra was a professor of mathematics from 1962 to 1984.
The University of Texas at Austin, where Dijkstra held the Schlumberger Centennial Chair in Computer Sciences from 1984 until 1999.
Dijkstra's algorithm. It picks the unvisited vertex with the lowest-distance, calculates the distance through it to each unvisited neighbor, and updates the neighbor's distance if smaller. Mark visited (set to red) when done with neighbors.
ALGOL 60 was created as the result of the January 1960 ALGOL conference in Paris. By August 1960, Dijkstra and his colleague Jaap Zonneveld put into operation the first complete working ALGOL 60 compiler (for the Electrologica X1 computer) in the world. The Dijkstra–Zonneveld compiler predates the second ALGOL 60 compiler (by another group) by more than a year.
A semaphore (seinpaal), the term used in Dijkstra's original paper. In the early 1960s Dijkstra proposed the first synchronisation mechanism for concurrent processes, the semaphore with its two operations, P and V.
A simple example of two processes modifying a linked list at the same time causing a conflict. The requirement of mutual exclusion was first identified and solved by Dijkstra in his seminal 1965 paper titled Solution of a problem in concurrent programming control, and is credited as the first topic in the study of concurrent algorithms.
Illustration of the dining philosophers problem
Dijkstra at the blackboard during a conference at ETH Zurich in 1994. He once remarked, "A picture may be worth a thousand words, a formula is worth a thousand pictures."

To mark the occasion and to celebrate his forty-plus years of seminal contributions to computing science, the Department of Computer Sciences organized a symposium, which took place on his 70th birthday in May 2000.

Simon circa 1981

Herbert A. Simon

Simon circa 1981
Simon (left) in a chess match against Allen Newell c. 1958
Simon's three stages in Rational Decision Making: Intelligence, Design, Choice (IDC)

Herbert Alexander Simon (June 15, 1916 – February 9, 2001) was an American political scientist, with a Ph.D. in political science, whose work also influenced the fields of computer science, economics, and cognitive psychology.

An automated online assistant providing customer service on a web page, an example of an application where natural language processing is a major component.

Natural language processing

An automated online assistant providing customer service on a web page, an example of an application where natural language processing is a major component.

Natural language processing (NLP) is a subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to process and analyze large amounts of natural language data.

This computer motherboard used in a personal computer is the result of computer engineering efforts.

Computer engineering

This computer motherboard used in a personal computer is the result of computer engineering efforts.
The Difference Engine, the first mechanical computer.
ENIAC, the first electronic computer.
Source code written in the C programming language.
Windows 10, an example of an operating system.
An example of a computer CPU.
An example of a humanoid robot.
Examples of devices that use embedded systems.

Computer engineering (CoE or CpE) is a branch of electrical engineering that integrates several fields of computer science and electronic engineering required to develop computer hardware and software.

Machine learning as subfield of AI

Machine learning

Field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks.

Field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks.

Machine learning as subfield of AI
Part of machine learning as subfield of AI or part of AI as subfield of machine learning
A support-vector machine is a supervised learning model that divides the data into regions separated by a linear boundary. Here, the linear boundary divides the black circles from the white.
An artificial neural network is an interconnected group of nodes, akin to the vast network of neurons in a brain. Here, each circular node represents an artificial neuron and an arrow represents a connection from the output of one artificial neuron to the input of another.
Illustration of linear regression on a data set.
A simple Bayesian network. Rain influences whether the sprinkler is activated, and both rain and the sprinkler influence whether the grass is wet.
The blue line could be an example of overfitting a linear function due to random noise.

Neural networks research had been abandoned by AI and computer science around the same time.

Lorenz cipher machine, used in World War II to encrypt communications of the German High Command

Cryptography

Practice and study of techniques for secure communication in the presence of adversarial behavior.

Practice and study of techniques for secure communication in the presence of adversarial behavior.

Lorenz cipher machine, used in World War II to encrypt communications of the German High Command
Alphabet shift ciphers are believed to have been used by Julius Caesar over 2,000 years ago. This is an example with k = 3. In other words, the letters in the alphabet are shifted three in one direction to encrypt and three in the other direction to decrypt.
Reconstructed ancient Greek scytale, an early cipher device
First page of a book by Al-Kindi which discusses encryption of messages
16th-century book-shaped French cipher machine, with arms of Henri II of France
Enciphered letter from Gabriel de Luetz d'Aramon, French Ambassador to the Ottoman Empire, after 1546, with partial decipherment
Symmetric-key cryptography, where a single key is used for encryption and decryption
One round (out of 8.5) of the IDEA cipher, used in most versions of PGP and OpenPGP compatible software for time-efficient encryption of messages
Public-key cryptography, where different keys are used for encryption and decryption.
Whitfield Diffie and Martin Hellman, authors of the first published paper on public-key cryptography.
In this example the message is only signed and not encrypted.
1) Alice signs a message with her private key.
2) Bob can verify that Alice sent the message and that the message has not been modified.
Variants of the Enigma machine, used by Germany's military and civil authorities from the late 1920s through World War II, implemented a complex electro-mechanical polyalphabetic cipher. Breaking and reading of the Enigma cipher at Poland's Cipher Bureau, for 7 years before the war, and subsequent decryption at Bletchley Park, was important to Allied victory.
Poznań monument (center) to Polish cryptanalysts whose breaking of Germany's Enigma machine ciphers, beginning in 1932, altered the course of World War II
NSA headquarters in Fort Meade, Maryland

Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, electrical engineering, communication science, and physics.

The existence of Comet NEOWISE (here depicted as a series of red dots) was discovered by analyzing astronomical survey data acquired by a space telescope, the Wide-field Infrared Survey Explorer.

Data science

Interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from noisy, structured and unstructured data, and apply knowledge from data across a broad range of application domains.

Interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from noisy, structured and unstructured data, and apply knowledge from data across a broad range of application domains.

The existence of Comet NEOWISE (here depicted as a series of red dots) was discovered by analyzing astronomical survey data acquired by a space telescope, the Wide-field Infrared Survey Explorer.

It uses techniques and theories drawn from many fields within the context of mathematics, statistics, computer science, information science, and domain knowledge.

A data structure known as a hash table.

Data structure

A data structure known as a hash table.

In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification.

René Descartes, who is often credited as the father of modern philosophy, was often preoccupied with epistemological questions in his work.

Epistemology

Branch of philosophy concerned with knowledge.

Branch of philosophy concerned with knowledge.

René Descartes, who is often credited as the father of modern philosophy, was often preoccupied with epistemological questions in his work.
Bertrand Russell famously brought attention to the distinction between propositional knowledge and knowledge by acquaintance.
An Euler diagram representing a version of the traditional definition of knowledge that is adapted to the Gettier problem. This problem gives us reason to think that not all justified true beliefs constitute knowledge.
The analytic–synthetic distinction was first proposed by Immanuel Kant.
David Hume, one of the most staunch defenders of empiricism.

Work in this area spans several academic fields, including philosophy, computer science, economics, and statistics.