Skip to the content.

Lab Rationale

The lab sheet has been designed following the spirit of the paper:

Teaching Formal Methods for Software Engineering – Ten Principles Antonio Cerone, Markus Roggenbach, Bernd-Holger Schlingloff, Gerardo Schneider, and Siraj Ahmed Shaikh https://www.informaticadidactica.de/uploads/Artikel/Schlinghoff2015/Schlinghoff2015.pdf

It strives to realise a number of the principles stated in this paper, including

Didactically, the lab shall provide the students with the experience that they are capable of successfully addressing a problem with a formal methods tool. Differentiation between students in terms of marks is not an objective. A student who engages with the lab ought to be able to complete tasks 1, 2 and 3. Only task 4 is slightly challenging and might not be accessible to everyone.

Economically, the lab should be “self-running” in the sense that students can follow the lab sheet without requiring much extra tutoring.

The lab has been successfully tried in a 2nd year, undergraduate module on Software Engineering. This unit comprised of

The idea behind this teaching approach is: let’s first experience a formal method, and only then see what else is there in the field.