English

More Programming Than Programming: Teaching Formal Methods in a Software Engineering Programme

Software Engineering 2022-05-03 v1 Logic in Computer Science

Abstract

Formal methods for software correctness are critical to the future of software engineering - and so must be an essential part of software engineering education. Unfortunately, formal methods are often resisted by students due to perceived difficulty, mathematicity, and practical irrelevance. We redeveloped our software correctness course by taking a programming intensive approach, using the solver-aided language Dafny to provide instant formative feedback via automated assessment. Our redeveloped course increased student retention and resulted in the best evaluation for the course for at least ten years.

Keywords

Cite

@article{arxiv.2205.00787,
  title  = {More Programming Than Programming: Teaching Formal Methods in a Software Engineering Programme},
  author = {James Noble and David Streader and Isaac Oscar Gariano and Miniruwani Samarakoon},
  journal= {arXiv preprint arXiv:2205.00787},
  year   = {2022}
}