Skip to main content

A Beginner’s Course on Reasoning About Imperative Programs

  • Conference paper
Teaching Formal Methods (TFM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3294))

Included in the following conference series:

  • 403 Accesses

Abstract

Formal Methods teaching at undergraduate level has been going on at Manchester for a good number of years. We have introduced various courses based on different approaches. We have experienced the usual problems. To combat these problems, our approaches and our course contents have evolved accordingly over the years. In this paper we briefly trace this evolution, and describe the latest course, on reasoning about simple imperative programs, for first-year students who are half-way through our introductory programming course.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)

    Google Scholar 

  3. Barwise, J., Etchemendy, J.: The Language of First Order Logic, 3rd edn. CSLI (1993)

    Google Scholar 

  4. Extended Static Checking for Java Home Page, http://research.compaq.com/SRC/esc/

  5. Gries, D.: The Science of Programming. Springer, Heidelberg (1981)

    MATH  Google Scholar 

  6. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)

    Google Scholar 

  7. The Java Modeling Language (JML) Home Page, http://www.cs.iastate.edu/~leavens/JML.html

  8. Jones, C.B.: Systematic Software Development Using VDM, 2nd edn. Prentice Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  9. Latham, J.T., Bush, V.J., Cottam, I.D.: The Programming Process: An Introduction using VDM and Pascal. Addison-Wesley, Reading (1990)

    Google Scholar 

  10. Lau, K.-K.: CS1112: Reasoning about Programs, http://www.cs.man.ac.uk/~kung-kiu/cs1112/

  11. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)

    Google Scholar 

  12. SPARKAda, Praxis Critical Systems Limited, http://www.praxis-cs.co.uk/sparkada/

  13. Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  14. Tarski’s World, http://wwwcsli.stanford.edu/hp/Tarski1.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lau, KK. (2004). A Beginner’s Course on Reasoning About Imperative Programs. In: Dean, C.N., Boute, R.T. (eds) Teaching Formal Methods. TFM 2004. Lecture Notes in Computer Science, vol 3294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30472-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30472-2_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23611-5

  • Online ISBN: 978-3-540-30472-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics