Is concerned with the expression of procedure-oriented algorithms. Defines: 1 – the nature of program constructs; 2 – the manner in which constructs can be combined; 3 – specifications for a set of constructs; a variety of subsets of the defined constructs.