The Z notation: a reference manual
The Z notation: a reference manual
A logical approach to discrete math
A logical approach to discrete math
The Science of Programming
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Computer
Invited Talk: Weaving Formal Methods into the Undergraduate Computer Science Curriculum
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
Functional declarative language design and predicate calculus: a practical approach
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Which Mathematics for the Information Society?
TFM '09 Proceedings of the 2nd International Conference on Teaching Formal Methods
Making Temporal Logic Calculational: A Tool for Unification and Discovery
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Pointfree expression and calculation: from quantification to temporal logic
Formal Methods in System Design
Logic training through algorithmic problem solving
TICTTL'11 Proceedings of the Third international congress conference on Tools for teaching logic
Microsemantics as a bootstrap in teaching formal methods
TFM'06 Proceedings of the 2006 conference on Teaching Formal Methods: practice and experience
Hi-index | 0.00 |
The key to the integration of formal methods into engineering practice is education. In teaching, domain-independent problems —i.e., not requiring prior engineering background— offer many advantages. Such problems are widely available, but this paper adds two dimensions that are lacking in typical solutions yet are crucial to formal methods: (i) the translation of informal statements into formal expressions; (ii) the role of formal calculation (including proofs) in exposing risks or misunderstandings and in discovering pathways to solutions. A few example problems illustrate this: (a) a small logical one showing the importance of fully capturing informal statements; (b) a combinatorial one showing how, in going from “real-world” formulations to mathematical ones, formal methods can cover more aspects than classical mathematics, and a half-page formal program semantics suitable for beginners is presented as a support; (c) a larger one showing how a single problem can contain enough elements to serve as a Leitmotiv for all notational and reasoning issues in a complete introductory course. An important final observation is that, in teaching formal methods, no approach can be a substitute for an open mind, as extreme mathphobia appears resistant to any motivation. Index Terms: Domain-independent problems, Formal methods, Functional Predicate Calculus, Funmath, Generic functionals, Teaching, Specification, Word problems.