错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Teaching Formal Methods for 10 Years: Reflections on theories, tools, materials, and communities

  • Gustavo Carvalho

摘要

Software is virtually everywhere. As a software-based society, thinking about correctness is an important skill of the present and future software and system developers. Since Formal Methods play an important role in achieving high-trustworthiness levels, they have been directly or indirectly part of typical Computer Science education. This paper discusses and summarises impressions taken from a 10-years experience on teaching Formal Methods to undergraduate students enrolled at Computer Science and Computer Engineering courses in Brazil. At first, the topic was taught using Z and CSP# as reference languages. Over the years, for a number of reasons, the chosen languages changed to a combination of Event-B and CSP \(_{\text {M}}\) and, at the present time, it is being taught using B. Our reflections are based on the following four perspectives: theories, tools, materials, and communities. We build on these reflections to highlight aspects that should be taken into account when designing Formal Methods modules as part of a Computer Science curriculum.