One of the directions of algebraic programming is the use of rewriting rules technique. This direction formalizes the transformational aspects of programming, which allows us to describe transformations of some formal objects and research properties of such transformations. The rewriting rules technique is both a powerful formal tool for transformation of formal systems and a practical tool for programming that allows implementing transformations of complex objects. In this chapter, the main definitions associated with algebraic programming based on rewriting rules are given, term rewriting systems are overviewed, and applications of these systems for processing and transformation of programs are considered.