Invited Talk: Weaving Formal Methods into the Undergraduate Computer Science Curriculum (Extended Abstract)

  • Jeannette M. Wing
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1816)


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.


State Machine Formal Method Homework Assignment Mobile IPv6 Abstract Data Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [CGP99]
    Clarke, E.M., O. Grumberg, and D.A. Peled: Model Checking, MIT Press, 1999.Google Scholar
  2. [CSRC00]
    Compaq Systems Research Center,
  3. [DLNS98]
    Detlefs, D., K. Rustan M. Leino, G. Nelson, and J.B. Saxe: Extended Static Checking, Compaq SRC Research Report 159, 1998.Google Scholar
  4. [EGHT94]
    Evans, D., J. Guttag, J.J. Horning, and Y.M. Tan: LCLint: A Tool for Using Specifiations to Check Code, SIGSOFT Symposium on the Foudations of Software Engineering, December 1994.Google Scholar
  5. [Gr81]
    Gries, D.: The Science of Programming, Springer-Verlag, 1981.Google Scholar
  6. [GH93]
    Guttag, J.V. and J.J. Horning, editors: Larch: Languages and Tools for Formal Specification, Springer-Verlag, 1993.Google Scholar
  7. [JD96]
    Jackson, D. and C. Damon: “Nitpick Reference Manual,” Carnegie Mellon University Technical Report CMU-CS-96-109, Computer Science Department, Pittsburgh, PA, January 1996.Google Scholar
  8. [Ja00]
    Jackson, D.: “Alloy: A Lightweight Object Modelling Notation,” MIT Technical Report 797, February 2000.Google Scholar
  9. [JNW00]
    Jackson, D., Y. Ng, and J.M. Wing: “A Nitpick Analysis of Mobile IPv6,” to appear in Formal Aspects of Computing, accepted January 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Jeannette M. Wing
    • 1
  1. 1.Computer Science DepartmentCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations