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.