Teaching beginners predicate transformer semantics for imperative languages is not a trivial task. For Computer Science majors, the teaching of the theoretical material must be supported by suitable practical course work. For this, we need a suitable language with appropriate tool support. In this paper, we describe our experience of using SPARK and its tools for this purpose. Our experience has been a very positive one. practical work.
/lp/association-for-computing-machinery/using-spark-for-a-beginner-s-course-on-reasoning-about-imperative-f8vm8HoPPV