# Glossary

**Problem solving:** The process of formulating a problem, finding a solution, and expressing the solution.

**High-level language:** A programming language like Python that is designed to be easy for humans to read and write.

**Low-level language:** A programming language that is designed to be easy for a computer to execute; also called machine language or assembly language.

**Portability:** A property of a program that can run on more than one kind of computer.

**Interpret:** To execute a program in a high-level language by translating it one line at a time.

**Compile:** To translate a program written in a high-level language into a low-level language all at once, in preparation for later execution.

**Source code:** A program in a high-level language before being compiled.

**Object code:** The output of the compiler after it translates the program.

**Executable:** Another name for object code that is ready to be executed.

**Prompt:** Characters displayed by the interpreter to indicate that it is ready to take input from the user.

**Script:** A program stored in a file (usually one that will be interpreted).

**Interactive mode:** A way of using the Python interpreter by typing commands and expressions at the prompt.

**Script mode:** A way of using the Python interpreter to read and execute statements in a script.

**Program:** A set of instructions that specifies a computation.

**Algorithm:** A general process for solving a category of problems.

**Bug:** An error in a program.

**Debugging:** The process of finding and removing any of the three kinds of programming errors.

**Syntax:** The structure of a program.

**Syntax error:** An error in a program that makes it impossible to parse (and therefore impossible to interpret).

**Exception:** An error that is detected while the program is running.

**Semantics:** The meaning of a program.

**Semantic error:** An error in a program that makes it do something other than what the programmer intended.

**Natural language:** Any one of the languages that people speak that evolved naturally.

**Formal language:** Any one of the languages that people have designed for specific purposes, such as representing mathematical ideas or computer programs; all programming languages are formal languages.

**Token:** One of the basic elements of the syntactic structure of a program, analogous to a word in a natural language.

**Parse:** To examine a program and analyze the syntactic structure.

**Print statement:** An instruction that causes the Python interpreter to display a value on the screen.
