This tag is for questions relating to the teaching of imperative programming such as that embodied in the C programming language.

Imperative programming is usually thought of as programming with mutable state and explicit testing of values for selection and iteration. It is often associated with languages such as C that use functions/procedures as the main abstraction mechanism along with various data abstractions.

Use this tag for questions related to the teaching of this paradigm. Note that most programming languages support at least some form of imperative programming but not all depend on it as the main conceptual framework.