Fun with Formal Methods for Better Education

  title={Fun with Formal Methods for Better Education},
  author={Nikolay V. Shilov and Evgeniy Muravev and Svetlana O. Shilova},
Is there a need to popularize Formal Methods in Software Engineering? Maybe industrial demand in Formal Methods is the best way to explain their utility and importance? We try to argue educational and emotional role of popularization for a better comprehension and a positive attitude to Formal Methods. Also, we discuss several Math problems of Olympiad level that can be solved using Formal Methods (while, unfortunately, Mathematical education suffers of lack of Theoretical Computer science… Expand

Figures from this paper


Towards A Broader Acceptance Of Formal Verification Tools: The Role Of Education
The study results infer that teaching programs need to be modified by including pre-requisite courses to make formal methods easily adapted by students and promote their usage in software development process. Expand
Teaching Formal Methods Using Magic Tricks
Card tricks can be used to show what an algorithm is, why testing is insu cient, how rigorous argument can reduce the amount of testing, making models of systems, and how algorithms can be verified using proof are described. Expand
Engaging students with theory through ACM collegiate programming contest
How formal methods can be presented in a popular---but mathematically sound---manner to undergraduate students of various disciplines.
On Mathematical Contents of Computer Science Contests
Computer Science contests become very popular with undergraduate students in recent years and maybe the Association for Computing Machinery International Collegiate Programming Contest (ACM ICPC) is the most popular world-wide. Expand
Really Rethinking 'Formal Methods'
We must question the assumptions underlying the well-known current formal software development methods to see why they have not been widely adopted and what should be changed.
Aesthetics and the human factor in programming
The Luncheon Address at the 1972 Spring Joint Computer Conference was given by Professor Andrei P. Ershov, Information Division Head of the Computer Center, Siberian Division, USSR Academy ofExpand
Axiomatic Basis for Computer Programming
This paper considers a formal method, known as axiomatic semantics, used to prove the correctness of a computer program. This formal method extracts, using some proof rules, the mathematicalExpand
Crowd-Sourced Help with Emergent Knowledge for Optimized Formal Verification (CHEKOFV)
The SRI team developed two games; Xylem; The Code of Plants, and Binary Fission to prove Crowd Sourced game play can improve Formal Verification effectiveness and reduce the cost to verify code. Expand
Computer Science and its Relation to Mathematics
  • D. Knuth
  • Computer Science, Mathematics
  • 1974
A personal view of how this subject interacts with Mathematics is given, by discussing the similarities and differences between the two fields, and by examining some of the ways in which they help each other. Expand
Этюд об устранении рекурсии
Just a single example of recursion elimination via program manipulations and problem analysis, which may be considered from different perspectives as a transformation of a descending dynamic programming to ascending one, or as a proof of the functional equivalence between recursive and iterative programs. Expand