A convenient method of programming digital computers to generate permutations of n elements, in the same order as a dictionary, is introduced and described in detail. The mathematical basis of the method consists of the introduction of permutation numbers, one number being provided for each permutation. These permutation numbers provide a theoretically simple method of generating the permutation with any dictionary number selected at will, or conversely determining the dictionary number and sign of a given permutation. Moreover the use of permutation numbers permits the generation of permutations following a given permutation in dictionary order, including their signs, with the least possible number of transpositions. It is shown that, with continuous generation of permutations in dictionary order in accordance with the practical optimum programming method here developed, the average number of transfers required is only 1.24 or 1.31 times, according to the computer employed, what would be needed for continuous generation by successive transposition. With the latter method, moreover, the principle of dictionary order must be abandoned. The programming is illustrated by flow diagrams.