The important challenge of modern programming is its mathematization, the development of formalized languages for designing algorithms and programs as well as their abstract models. The facilities for design, analysis and implementation of algorithms are especially actual in connection with essential processes of computerization and automation of society activities. Such facilities are developed within the framework of algorithmics and algebraic programming, which are the directions of Ukrainian algebraic-cybernetic school originating from fundamental works of Academician V.M. Glushkov. The book proposes formal models, methods and software tools for design of sequential and parallel programs, which are based on algebras of algorithms and term rewriting paradigm.