This expository paper outlines the essential features in decision table development and illustrates applications in various fields. A comprehensive bibliography is also presented. There is at present a growing interest in decision tables among programming and systems professionals. For the past several years occasional articles and papers have been appearing in American magazines and journals pointing out the value of decision table techniques to the user and discussing translation to a lower level of program. This body of literature is reviewed and discussed below. Little work, as yet, seems to have been done on this subject in the U.K. The purpose of this paper is to explain the basic ideas of the decision table approach, to illustrate its wide applicability by way of examples, and to present a bibliography. The use of decision tables in the context of more comprehensive systems is also mentioned. The basic ideas A decision table is a useful tool when the rules for handling a data record are more complex than a single simple discriminating test. Usual practice is to record and analyse this type of situation by means of a flowchart. This is then used for writing a program made up of a number of branches. Such programs, even though written in a high level language, are often not readily comprehensible in the absence of the accompanying flowchart or without constructing one. Consider the flowchart of Fig. 1. This describes the rules for preparing lists of students divided into five categories on the basis of end of year exam results and other information in the case of those who have failed their main subject. The flowchart is drawn more formally in Fig. 2. We see that it represents a five way program branch on the outcome of tests on some of four distinct conditions. The five different actions may be thought of simply as program routes. MM and MA are marks obtained in main and accessory subjects respectively. C is set positive if special consideration is recommended and R is set positive if the student wishes to repeat the course. P is the pass mark. If asked to program on the basis of Fig. 2 the ALGOL programmer would write something like: if MM 0 then go to R2> else if R > 0 then go to R4 else go to R5) else if (MA 0 THEN GO TO R3; ELSE IF R > 0 THEN GO TO R4; ELSE GO TO R5; ELSE IF MA < P THEN GO TO R2; ELSE GO TORI; The programmer with a decision table feature in his language would draw up a table similar to Table 1.