- Unstructured programming: Tends to produce programs that are difficult to understand and expensive to maintain
- Structured programming: A form of programming that breaks complex tasks into smaller, simpler tasks
- Pseudocode: Outlines the logic of a program in structured English
- Subprogram: A program within a program
- Sequence: Performing tasks in a particular order
- Decision: Conditionally performing a task
- Repetition: Repeatedly performing a task
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and repetition constructs. This is in contrast to using simple tests and jumps such as the goto statement which could lead to "spaghetti code" which is both difficult to follow and to maintain as was shown by Edsger Dijkstra .