It’s a programming paradigm that describes computation as statements that change a program state. Computations are performed through a guided sequence of steps, in which these variables are referred to or changed. The order of the steps is crucial, because a given step will have different consequences depending on the current values of variables when the step is executed. Imperative programs define sequences of commands/statements for the computer that change a program state (i.e., set of variables)