When the Student Becomes the Teacher

Making formal methods accessible and appealing to future software engineers is vital to promote their uptake in industry and to increase participation in formal methods research. In this paper, we report on our initial experience of both studying and, subsequently, teaching the same software verification module at Maynooth University, Ireland. By analysing on our own teaching and learning experiences along with the students’ grades from the 2018–2019 academic year, we present our four initial observations and two hypotheses that we intend to investigate during the 2019–2020 academic year.

[1]  Dominique Méry,et al.  Teaching Formal Methods: Lessons to Learn , 1998, IWFM.

[2]  Faron Moller,et al.  Teaching Discrete Mathematics to Computer Science Students , 2019, FMTea.

[3]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[4]  John Etchemendy,et al.  Tarski's World: Version 4.0 for Macintosh (Center for the Study of Language and Information - Lecture Notes) , 1993 .

[5]  Mathieu Jaume,et al.  Teaching Formal Methods and Discrete Mathematics , 2014, F-IDE.

[6]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[7]  C. Neville Dean,et al.  Teaching and learning formal methods , 1996 .

[8]  Jérôme Hugues,et al.  Teaching Deductive Verification Through Frama-C and SPARK for Non Computer Scientists , 2019, FMTea.

[9]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[10]  Hao Wu MaxUSE: A Tool for Finding Achievable Constraints and Conflicts for Inconsistent UML Class Diagrams , 2017, IFM.

[11]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[12]  Kristin Y. Rozier On Teaching Applied Formal Methods in Aerospace Engineering , 2019, FMTea.

[13]  Hao Wu Finding Achievable Features and Constraint Conflicts for Inconsistent Metamodels , 2017, ECMFA.

[14]  José Nuno Oliveira A Survey of Formal Methods Courses in European Higher Education , 2004, TFM.

[15]  Mark Ryan,et al.  Logic in Computer Science: Modelling and Reasoning about Systems , 2000 .

[16]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[17]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[18]  María-del-Mar Gallardo,et al.  Teaching Formal Methods: From Software in the Small to Software in the Large , 2019, FMTea.

[19]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[20]  Néstor Cataño Teaching Formal Methods: Lessons Learnt from Using Event-B , 2019, FMTea.

[21]  Jean-Marc Jézéquel,et al.  Design by Contract: The Lessons of Ariane , 1997, Computer.