Post's Machine: A Didactic Microworld as an Introduction to Formal Programming

Although formal programming is considered a recognised programming model, many avoid teaching it because of its very high mental cost. For that reason we developed a “microscopic” environment based on Emil Post's theoretical machine as an introduction to formal methods of programming and in the framework of an introductory computer science course.In this paper, we present a small formal system for the development and simultaneous verification of algorithms; we give an example of problem solving in this environment; we present a small existing software simulating Post's machine; we propose two modules to facilitate the work in this environment; and finally, we present the didactic uses of Post's machine as an introduction to formal methods.