‘Mathematical’ Does Not Mean ‘Boring’: Integrating Software Assignments to Enhance Learning of Logico-Mathematical Concepts

  • Anna Zamansky
  • Yoni Zohar
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 249)


Insufficient mathematical skills of practitioners are hypothesized as one of the main hindering factors for the adoption of formal methods in industry. This problem is directly related to negative attitudes of future computing professionals to core mathematical disciplines, which are perceived as difficult, boring and not relevant to their future daily practices. This paper is a contribution to the ongoing debate on how to make courses in Logic and Formal Methods both relevant and engaging for future software practitioners. We propose to increase engagement and enhance learning by integrating ‘hands-on’ software engineering assignments based on cross-fertilization between software engineering and logic. As an example, we report on a pilot assignment given at a Logic and Formal Methods course for Information Systems students at the University of Haifa. We describe the design of the assignment, students’ feedback and discuss some lessons learnt from the pilot.


Education Teaching Automated reasoning Software engineering Logic Testing Engagement 


  1. 1.
    Almstrum, V.L.: Investigating student difficulties with mathematical logic. In: Dean, N., Hinchey, M.G. (eds.) Teaching and Learning Formal Methods, pp. 131–160. Academic Press, Cambridge (1996)Google Scholar
  2. 2.
    Areces, C.E.: Logic Engineering: The Case of Description and Hybrid Logics. Institute for Logic, Language and Computation (2000)Google Scholar
  3. 3.
    Baaz, M., Fermüller, C.G., Salzer, G., Zach, R.: Multlog 1.0: towards an expert system for many-valued logics. In: McRobbie, M.A., Slaney, J.K. (eds.) Automated Deduction–Cade-13. LNCS, vol. 1104, pp. 226–230. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  4. 4.
    Bjørner, D., Havelund, K.: 40 years of formal methods. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 42–61. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  5. 5.
    Ciabattoni, A., Spendier, L.: Tools for the investigation of substructural and paraconsistent logics. In: Fermé, E., Leite, J. (eds.) JELIA 2014. LNCS, vol. 8761, pp. 18–32. Springer, Heidelberg (2014)Google Scholar
  6. 6.
    Degtyarev, A., Voronkov, A.: The inverse method. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 179–272. MIT Press, Cambridge (2001)CrossRefGoogle Scholar
  7. 7.
    Hoffmann, M., Iachelini, G.: Code coverage analysis for eclipse. Eclipse Summit Europe (2007)Google Scholar
  8. 8.
    Howden, W.E.: Weak mutation testing and completeness of test sets. IEEE Trans. Softw. Eng. SE–8(4), 371–379 (1982)CrossRefGoogle Scholar
  9. 9.
    Lahav, O., Zohar, Y.: SAT-based decision procedure for analytic pure sequent calculi. In: Demri, S., Kapur, D., Weidenbach, C. (eds.) IJCAR 2014. LNCS, vol. 8562, pp. 76–90. Springer, Heidelberg (2014)Google Scholar
  10. 10.
    Makowsky, J.: Teaching logic for computer science: are we teaching the wrong narrative? In: Fourth International Conference on Tools for Teaching Logic, TTL (2015)Google Scholar
  11. 11.
    Johann, A.: Makowsky.: from Hilberts program to a logic tool box. Ann. Math. Artif. Intell. 53(1–4), 225–250 (2008)Google Scholar
  12. 12.
    Mandrioli, D.: On the heroism of really pursuing formal methods. In: 2015 IEEE/ACM 3rd FME Workshop on Formal Methods in Software Engineering (Formalise), pp. 1–5. IEEE (2015)Google Scholar
  13. 13.
    Ohlbach, H.J.: Computer support for the development and investigation of logics. Logic J. IGPL 4(1), 109–127 (1996)CrossRefGoogle Scholar
  14. 14.
    Page, R.L.: Software is discrete mathematics. In: ACM SIGPLAN Notices, vol. 38, pp. 79–86. ACM (2003)Google Scholar
  15. 15.
    Sherman, B.F., Wither, D.P.: Mathematics anxiety and mathematics achievement. Math. Educ. Res. J. 15(2), 138–150 (2003)CrossRefGoogle Scholar
  16. 16.
    Sowa, J.F.: Conceptual graphs as a universal knowledge representation. Comput. Math. Appl. 23(2), 75–93 (1992)CrossRefGoogle Scholar
  17. 17.
    Tavolato, P., Vogt, F.: Integrating formal methods into computer science curricula at a university of applied sciences. In: TLA+ Workshop at the 18th International Symposium on Formal Methods, Paris, Frankreich (2012)Google Scholar
  18. 18.
    Tishkovsky, D., Schmidt, R.A., Khodadadi, M.: Mettel2: towards a tableau prover generation platform. In: PAAR@ IJCAR, pp. 149–162 (2012)Google Scholar
  19. 19.
    Wing, J.M.: Teaching mathematics to software engineers. In: Proceedings 4th International Conference Algebraic Methodology and Software Technology, AMAST 1995, Montreal, Canada, 3–7 July, 1995, pp. 18–40 (1995)Google Scholar
  20. 20.
    Wing, J.M.: Invited talk: weaving formal methods into the undergraduate computer science curriculum. In: Rus, T. (ed.) Algebraic Methodology and Software Technology. LNCS, vol. 1816, pp. 2–7. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  21. 21.
    Zamansky, A., Farchi, E.: Teaching logic to information systems students: challenges and opportunities. In: Fourth International Conference on Tools for Teaching Logic, TTL (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.University of HaifaHaifaIsrael
  2. 2.Tel Aviv UniversityTel-AvivIsrael

Personalised recommendations