A reusable set of instructions in the form of code.Notation used to classify algorithmic performance in space or time requirements.A function that calls itself, typically with a guard condition that prevents infinite execution.Regarding the nature of values in computer languages.