A report on 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 with Alpha

Overall

Silver didrachma from Crete depicting Talos, an ancient mythical automaton with artificial intelligence

Artificial intelligence

12 links

Intelligence demonstrated by machines, as opposed to the natural intelligence displayed by animals including humans.

Intelligence demonstrated by machines, as opposed to the natural intelligence displayed by animals including humans.

Silver didrachma from Crete depicting Talos, an ancient mythical automaton with artificial intelligence
An ontology represents knowledge as a set of concepts within a domain and the relationships between those concepts.
A parse tree represents the syntactic structure of a sentence according to some formal grammar.
Feature detection (pictured: edge detection) helps AI compose informative abstract structures out of raw data.
Kismet, a robot with rudimentary social skills
A particle swarm seeking the global minimum
Expectation-maximization clustering of Old Faithful eruption data starts from a random guess but then successfully converges on an accurate clustering of the two physically distinct modes of eruption.
A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain.
Representing images on multiple layers of abstraction in deep learning
For this project the AI had to learn the typical patterns in the colors and brushstrokes of Renaissance painter Raphael. The portrait shows the face of the actress Ornella Muti, "painted" by AI in the style of Raphael.
AI Patent families for functional application categories and sub categories. Computer vision represents 49 percent of patent families related to a functional application in 2016.
The word "robot" itself was coined by Karel Čapek in his 1921 play R.U.R., the title standing for "Rossum's Universal Robots"

AI also draws upon computer science, psychology, linguistics, philosophy, and many other fields.

Flowchart of an algorithm (Euclid's algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B. The algorithm proceeds by successive subtractions in two loops: IF the test B ≥ A yields "yes" or "true" (more accurately, the number b in location B is greater than or equal to the number a in location A) THEN, the algorithm specifies B ← B − A (meaning the number b − a replaces the old b). Similarly, IF A > B, THEN A ← A − B. The process terminates when (the contents of) B is 0, yielding the g.c.d. in A. (Algorithm derived from Scott 2009:13; symbols and drawing style from Tausworthe 1977).

Algorithm

9 links

Flowchart of an algorithm (Euclid's algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B. The algorithm proceeds by successive subtractions in two loops: IF the test B ≥ A yields "yes" or "true" (more accurately, the number b in location B is greater than or equal to the number a in location A) THEN, the algorithm specifies B ← B − A (meaning the number b − a replaces the old b). Similarly, IF A > B, THEN A ← A − B. The process terminates when (the contents of) B is 0, yielding the g.c.d. in A. (Algorithm derived from Scott 2009:13; symbols and drawing style from Tausworthe 1977).
Ada Lovelace's diagram from "note G", the first published computer algorithm
Logical NAND algorithm implemented electronically in 7400 chip
Flowchart examples of the canonical Böhm-Jacopini structures: the SEQUENCE (rectangles descending the page), the WHILE-DO and the IF-THEN-ELSE. The three structures are made of the primitive conditional GOTO (IF test THEN GOTO step xxx, shown as diamond), the unconditional GOTO (rectangle), various assignment operators (rectangle), and HALT (rectangle). Nesting of these structures inside assignment-blocks result in complex diagrams (cf. Tausworthe 1977:100, 114).
The example-diagram of Euclid's algorithm from T.L. Heath (1908), with more detail added. Euclid does not go beyond a third measuring and gives no numerical examples. Nicomachus gives the example of 49 and 21: "I subtract the less from the greater; 28 is left; then again I subtract from this the same 21 (for this is possible); 7 is left; I subtract this from 21, 14 is left; from which I again subtract 7 (for this is possible); 7 is left, but 7 cannot be subtracted from 7." Heath comments that "The last phrase is curious, but the meaning of it is obvious enough, as also the meaning of the phrase about ending 'at one and the same number'."(Heath 1908:300).
A graphical expression of Euclid's algorithm to find the greatest common divisor for 1599 and 650.
"Inelegant" is a translation of Knuth's version of the algorithm with a subtraction-based remainder-loop replacing his use of division (or a "modulus" instruction). Derived from Knuth 1973:2–4. Depending on the two numbers "Inelegant" may compute the g.c.d. in fewer steps than "Elegant".
Alan Turing's statue at Bletchley Park

In mathematics and computer science, an algorithm is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation.

3rd century BC Greek mathematician Euclid (holding calipers), as imagined by Raphael in this detail from The School of Athens (1509–1511)

Mathematics

9 links

Area of knowledge that includes such topics as numbers , formulas and related structures (algebra), shapes and the spaces in which they are contained (geometry), and quantities and their changes (calculus and analysis).

Area of knowledge that includes such topics as numbers , formulas and related structures (algebra), shapes and the spaces in which they are contained (geometry), and quantities and their changes (calculus and analysis).

3rd century BC Greek mathematician Euclid (holding calipers), as imagined by Raphael in this detail from The School of Athens (1509–1511)
The distribution of prime numbers is a central point of study in number theory. This Ulam spiral serves to illustrate it, hinting, in particular, at the conditional independence between being prime and being a value of certain quadratic polynomials.
The quadratic formula expresses concisely the solutions of all quadratic equations
Rubik's cube: the study of its possible moves is a concrete application of group theory
The Babylonian mathematical tablet Plimpton 322, dated to 1800 BC.
Archimedes used the method of exhaustion, depicted here, to approximate the value of pi.
The numerals used in the Bakhshali manuscript, dated between the 2nd century BC and the 2nd century AD.
A page from al-Khwārizmī's Algebra
Leonardo Fibonacci, the Italian mathematician who introduced the Hindu–Arabic numeral system invented between the 1st and 4th centuries by Indian mathematicians, to the Western World.
Leonhard Euler created and popularized much of the mathematical notation used today.
Carl Friedrich Gauss, known as the prince of mathematicians
The front side of the Fields Medal
Euler's identity, which American physicist Richard Feynman once called "the most remarkable formula in mathematics".

Mathematics is essential in many fields, including natural sciences, engineering, medicine, finance, computer science and social sciences.

The source code for a simple computer program written in the C programming language. The gray lines are comments that help explain the program to humans in a natural language. When compiled and run, it will give the output "Hello, world!".

Programming language

8 links

Any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output.

Any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output.

The source code for a simple computer program written in the C programming language. The gray lines are comments that help explain the program to humans in a natural language. When compiled and run, it will give the output "Hello, world!".
A selection of programming language textbooks; only a few of the thousands available.
Parse tree of Python code with inset tokenization
Syntax highlighting is often used to aid programmers in recognizing elements of source code. The language above is Python.

Programming language theory is a subfield of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

Information theory

4 links

Scientific study of the quantification, storage, and communication of digital information.

Scientific study of the quantification, storage, and communication of digital information.

A picture showing scratches on the readable surface of a CD-R. Music and data CDs are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction.

The field is at the intersection of probability theory, statistics, computer science, statistical mechanics, information engineering, and electrical engineering.

Argument terminology used in logic

Logic

9 links

Study of correct reasoning or good arguments.

Study of correct reasoning or good arguments.

Argument terminology used in logic
Aristotle, 384–322 BCE.
A depiction from the 15th century of the square of opposition, which expresses the fundamental dualities of syllogistic.

Logic is studied in and applied to various fields, such as philosophy, mathematics, computer science, and linguistics.

Computability theory

6 links

Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees.

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

Cryptography

3 links

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.

Computer simulation, one of the main cross-computing methodologies.

Computing

4 links

Any goal-oriented activity requiring, benefiting from, or creating computing machinery.

Any goal-oriented activity requiring, benefiting from, or creating computing machinery.

Computer simulation, one of the main cross-computing methodologies.
ENIAC, the first programmable general-purpose electronic digital computer

Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology and software engineering.

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

3 links

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.