Aesthetics is a branch of philosophy that explores the nature of art, beauty, and taste, with the creation and appreciation of beauty.

A step by step process that describes how to solve a problem and/or complete a task, which will always give a result.

In formal languages, a list of characters that may occur in a language, or more generally, a list of all possible inputs that might happen.

Searching a sorted list by looking at the middle item, and then searching the appropriate half recursively (used for phone books, dictionaries and computer algorithms).

An observation that adding more people to a project that is running late may actually slow it down more.

A hierarchy of four classifications of formal languages, ranging from simple regular expressions to very flexible (but computationally difficult) grammars.

How long it takes to solve a problem. A problem has an inherent complexity (minimum time needed to solve it); any algorithm to solve the problem will have a higher complexity (take at least that long).

An encryption system that allows the receiver to verify that a document was sent by the person who claims to have sent it.

In formal languages, a simple 'machine' that has states, and transitions from one state to another based on strings of input symbols.

Alternative name for a finite state automaton.

In formal languages, a set of rules for specifying a language, for example, to specify syntax for programming languages.

Working out values between some given values; for example, if a sequence of 5 numbers starts with 3 and finishes with 11, we might interpolate the values 5, 7, 9 in between.

In formal languages, it's the set of all strings that the language accepts i.e. that are correct.

In formal languages, finding text that matches a particular rule, typically using a regular expression to give the rule.

This term is an abbreviation of picture element, the name given to the tiny squares that make up a grid that is used to represent images on a computer.

A process for achieving an outcome, normally for a general problem such as searching, sorting, finding an optimal path through a map and so on.

A formula used to describe a pattern in a text that is to be matched or searched for. These are typically used for finding elements of a program (such as variable names) and checking input in forms (such as checking that an email address has the right format.)

This is a way of expressing the angle or gradient of a line. The slope is simply how far up the line goes for every unit we move to the right. For example, if we have a line with a slope of 2, then after moving 3 units to the right, it will have gone up 6 units. A line with a slope of 0 is horizontal. Normally the slope of a line is represented using the symbol $$m$$.