Electronic Proceedings in Theoretical Computer Science · 2014 · 14 citations · 12 references
EngineeringComputational LiteracyEducationSoftware EngineeringSoftware Engineering EducationProgramming Language TeachingStem EducationMathematics EducationFormal Mathematical ReasoningDiscrete MathematicsComputational ThinkingLearning AnalyticsComputer ScienceSoftware EngineersCurriculumSoftware DesignAutomated ReasoningFormal MethodsProgramming MethodologyDiscrete StructureMathematics Teacher Education
Despite significant advancements in the conception of (formal) integrated development environments, applying formal methods in software industry is still perceived as a difficult task. To make the task easier, providing tools that help during the development cycle is essential but we think that education of computer scientists and software engineers is also an important challenge to take up. Indeed, we believe that formal methods courses do not appear sufficiently early in compter science curricula and thus are not widely used and perceived as a valid professional skill. In this paper, we claim that teaching formal methods could be done at the undergraduate level by mixing formal methods and discrete mathematics courses and we illustrate such an approach with a small develop- ment within FoCaLiZe. We also believe that this could considerably benefit the learning of discrete mathematics.
12
The B-book: assigning programs to meanings
Choice Reviews Online · 1997 · 2.1K citations
Leslie Lamport · American Mathematical Monthly · 1995 · 163 citations
Verification, American Mathematical Monthly, Proof Theory +3
Teaching logic using a state-of-the-art proof assistant
Maxim Hendriks, Cezary Kaliszyk, Femke van Raamsdonk et al. · SHILAP Revista de lepidopterología · 2008 · 33 citations · Full text
Software is discrete mathematics
Rex Page · 2003 · 33 citations
Programming Effectiveness, Engineering, Programming Concepts +20
Leslie Lamport · American Mathematical Monthly · 1995 · 31 citations