Skip to main content

Weaving a Formal Methods Education with Problem-Based Learning

  • Conference paper
Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2008)

Abstract

The idea of weaving formal methods through computing (or software engineering) degrees is not a new one. However, there has been little success in developing and implementing such a curriculum. Formal methods continue to be taught as stand-alone modules and students, in general, fail to see how fundamental these methods are to the engineering of software. A major problem is one of motivation — how can the students be expected to enthusiastically embrace a challenging subject when the learning benefits, beyond passing an exam and achieving curriculum credits, are not clear? Problem-based learning has gradually moved from being an innovative pedagogique technique, commonly used to better-motivate students, to being widely adopted in the teaching of many different disciplines, including computer science and software engineering. Our experience shows that a good problem can be re-used throughout a student’s academic life. In fact, the best computing problems can be used with children (young and old), undergraduates and postgraduates. In this paper we present a process for weaving formal methods through a University curriculum that is founded on the application of problem-based learning and a library of good software engineering problems, where students learn about formal methods without sitting a traditional formal methods module. The process of constructing good problems and integrating them into the curriculum is shown to be analagous to the process of engineering software. This approach is not intended to replace more traditional formal methods modules: it will better prepare students for such specialised modules and ensure that all students have an understanding and appreciation for formal methods even if they do not go on to specialise in them.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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.

References

  1. Woods, D.R.: Problem-based Learning: how to gain the most from PBL. Waterdown, Ontario (1996)

    Google Scholar 

  2. Wing, J.M.: Invited talk: Weaving formal methods into the undergraduate computer science curriculum. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 2–9. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Kiniry, J.R., Zimmerman, D.M.: Secret ninja formal methods. In: Cuellar, J., Maibaum, T.S.E., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 214–228. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Gibson, J.P., Lallet, E., Raffy, J.L.: How do I know if my design is correct? In: Formal Methods in Computer Science Education (FORMED), pp. 59–69 (March 2008)

    Google Scholar 

  5. Hilgard, E.R., Bower, G.H.: Theories of Learning. Prentice Hall, Englewood Cliffs (1956)

    Google Scholar 

  6. Brainerd, C.: Piaget’s Theory of Intelligence. Prentice Hall, Englewood Cliffs (1978)

    Google Scholar 

  7. Bruner, J.S.: Toward a theory of instruction. Belknap Press of Harvard University, Cambridge (1966)

    Google Scholar 

  8. Guilford, J.P.: The Nature of Human Intelligence. McGraw-Hill, New York (1967)

    Google Scholar 

  9. Gardner, H.: Frames of mind: the theory of multiple intelligence. Basic Books, New York (1983)

    Google Scholar 

  10. Papert, S., Sculley, J.: Mindstorms: children, computers, and powerful ideas. Basic Books, New York (1980)

    Google Scholar 

  11. Schoenfeld, A.H.: Mathematical Problem Solving. Academic Press, Orlando (1985)

    MATH  Google Scholar 

  12. Bloom, B.S., Engelhart, M.D., Furst, E.J., Hill, W.H., Krathwohl, D.R.: Taxonomy of educational objectives Handbook 1: cognitive domain. Longman Group Ltd., London (1956)

    Google Scholar 

  13. Barrows, H., Tamblyn, R.: Problem-Based Learning: An Approach to Medical Education. Springer Publishing Company, New York (1980)

    Google Scholar 

  14. Torp, L., Sage, S.: Problems as Possibilities: Problem-Based Learning for K16 Education. Association for Supervision and Curriculum Development (ASCD), Alexandria (2002)

    Google Scholar 

  15. Duch, B.: Writing Problems for Deeper Understanding, pp. 47–53. Stylus Publishing, Sterling (2001)

    Google Scholar 

  16. Tien, C., Chu, S., Lin, Y.: Four phases to construct problem-based learning instruction materials. In: PBL In Context Bridging work and Education, pp. 117–133. Tampere University Press (2005)

    Google Scholar 

  17. O’Kelly, J., Gibson, J.P.: PBL: Year one analysis — interpretation and validation. In: PBL In Context — Bridging Work and Education (2005)

    Google Scholar 

  18. Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)

    Article  Google Scholar 

  19. Gibson, J.P., O’Kelly, J.: Software engineering as a model of understanding for learning and problem solving. In: ICER 2005: Proceedings of the 2005 international workshop on Computing education research, pp. 87–97. ACM, New York (2005)

    Chapter  Google Scholar 

  20. Gibson, J.P.: Formal methods - never too young to start. In: Formal Methods in Computer Science Education (FORMED), pp. 149–159 (March 2008)

    Google Scholar 

  21. Gibson, J.P.: Formal requirements engineering: Learning from the students. In: Australian Software Engineering Conference, pp. 171–180. IEEE Computer Society, Los Alamitos (2000)

    Google Scholar 

  22. Gibson, J.P., Méry, D.: Teaching formal methods: Lessons to learn. In: Flynn, S., Butterfield, A. (eds.) IWFM. Workshops in Computing, BCS (1998)

    Google Scholar 

  23. Curran, W.S.: Teaching software engineering in the computer science curriculum. SIGCSE Bull. 35(4), 72–75 (2003)

    Article  MathSciNet  Google Scholar 

  24. Parnas, D.L., Soltys, M.: Basic science for software developers. In: Workshop on Formal Methods in the Teaching Lab (FM-Ed 2006), pp. 9–14 (August 2006)

    Google Scholar 

  25. Habrias, H.: Teaching specifications, hands on. In: Formal Methods in Computer Science Education (FORMED), pp. 5–15 (March 2008)

    Google Scholar 

  26. Parnas, D.L.: Software engineering programmes are not computer science programmes. Ann. Software Eng. 6, 19–37 (1998)

    Article  Google Scholar 

  27. Gibson, J.P.: Feature requirements models: Understanding interactions. In: Dini, P., Boutaba, R., Logrippo, L. (eds.) Feature Interactions in Telecommunications Networks IV (FIW 1997), pp. 46–60. IOS Press, Amsterdam (1997)

    Google Scholar 

  28. Miller, A., Cutts, Q.: The use of an electronic voting system in a formal methods course. In: Workshop on Formal Methods in the Teaching Lab (FM-Ed 2006), pp. 3–8 (August 2006)

    Google Scholar 

  29. Gibson, J.P., McGaley, M.: Verification and maintenance of e-voting systems and standards. In: 8th European Conference on e-Government, pp. 283–290 (July 2008)

    Google Scholar 

  30. Cansell, D., Gibson, J.P., Méry, D.: Refinement: A constructive approach to formal software design for a secure e-voting interface. Electr. Notes Theor. Comput. Sci. 183, 39–55 (2007)

    Article  Google Scholar 

  31. Cansell, D., Gibson, J.P., Méry, D.: Formal verification of tamper-evident storage for e-voting. In: Software Engineering and Formal Methods (SEFM 2007), pp. 329–338. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  32. Gibson, J.P.: E-voting and the need for rigorous software engineering — the past, present and future. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, p. 1. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  33. Gibson, J.P.: A noughts and crosses java applet to teach programming to primary school children. In: PPPJ 2003: Proceedings of the 2nd international conference on Principles and practice of programming in Java, pp. 85–88. Computer Science Press, Inc., New York (2003)

    Google Scholar 

  34. Gibson, D.J.P.: Méry,: Formal modelling of services for getting a better understanding of the feature interaction problem. In: Bjorner, D., Broy, M., Zamulin, A.V. (eds.) PSI 1999. LNCS, vol. 1755, pp. 155–179. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gibson, J.P. (2008). Weaving a Formal Methods Education with Problem-Based Learning. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. ISoLA 2008. Communications in Computer and Information Science, vol 17. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88479-8_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88479-8_32

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88478-1

  • Online ISBN: 978-3-540-88479-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics