Weaving Formal Methods into the Undergraduate Computer Science Curriculum
Author: Jeannette M. Wing
Click here for the
PostScript
version.
Abstract
We can integrate formal methods into an existing undergraduate
curriculum by focusing on teaching their common conceptual elements
and by using state of the art formal methods tools. Common elements
include state machines, invariants, abstraction mappings, composition,
induction, specification, and verification. Tools include model
checkers and specification checkers. By introducing and regularly
revisiting the concepts throughout the entire curriculum and by using the
tools for homework assignments and class projects, we may be able to attain the
ideal goal of having computer scientists use formal methods without
their even realizing it.