A critical survey of Soviet efforts to develop a mathematical theory of computer programming and automatic programming methods (PP or programming programs). The study traces the development of the "operator" theory of A. A. Lyapunov and his associates from its starting point in program schemes designed to represent specific problem-solving algorithms to its algebraic formulation in terms of the theory of categories. Other authors have attempted to adapt graph theory and the theory of algorithms to the construction of better programming languages. In contrast to FORTRAN, the practical result of PP has been to raise, rather than lower, the level of technical knowledge required for programming. Current Soviet research is directed toward adaptation and extension of ALGOL 60 rather than further theoretical work. Some of the Russian work, however, may be of practical relevance, particularly Glebov's synthesis of operators from measurably simpler ones.