Skip to main content
Log in

Keeping logic in the trivium of computer science: a teaching perspective

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Helmut wasn’t just an outstanding researcher, he was also passionate about improving education in logic and computer science.

From Richard Zach’s obituary.

Abstract

In this paper we argue that the traditional syllabus of logic courses for computer science is outdated and missing its purposes, therefore contributing to the gradual relegation of logic from the computing curricula. We further provide some practical recommendations and directions that need to be considered in the adaptation of the logic course syllabi to the needs of modern computing practitioners.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. For more about the Vienna Circle one may consult the Wikipedia entry on the Vienna Circle [38].

  2. Translated to English by Richard Zach.

  3. We thank Georg Weissenbacher and Thomas Eiter for providing this information on Helmut’s activities.

  4. See also the Wikipedia entry for Liberal arts education [37].

  5. The CS departments of ETHZ Zurich and University of Haifa are such examples.

  6. The first author presented twice in Vienna ideas that have led to this paper. Helmut Veith attended the first talk, was supportive of the ideas and provided some useful feedback that has led to revisions and additions in this version.

  7. While there is a variety of books on logic for CS, such as [6, 13, 19], they do not fit our intended vision of a unified basis, as their focus is too narrow on verification [6, 19] or automatic theorem proving [13]. See also the discussion in Section 2.5.

  8. The programming languages community has been having related discussions about helping students connect theoretical foundations to the practice of computing and system design [3].

  9. This includes Yuri Gurevich, who expressed this view in his personal communication with the first author.

  10. Tools such as Sedan [10] and Alloy [20] can be used in introductory classes for supporting teaching basic logical concepts.

References

  1. Adamowicz Z, Zbierski P (2011) Logic of mathematics: a modern course of classical logic. Wiley, New York

    MATH  Google Scholar 

  2. Arora S, Barak B (2009) Computational complexity: a modern approach. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  3. Ball T, Zorn B (2015) Teach foundational language principles. Commun ACM 58(5):30–31

    Article  Google Scholar 

  4. Barland I, Felleisen M, Fisler K, Kolaitis P, Vardi MY (2000) Integrating logic into the computer science curriculum. In: Innovation and technology in computer science education

  5. Barwise J, Feferman S (eds) (1985) Model-theoretic logics. In: Perspectives in mathematical logic. Springer, Berlin

  6. Ben-Ari M (2012) Mathematical logic for computer science. Springer, Berlin

    Book  MATH  Google Scholar 

  7. Bradley A, Manna Z (2007) The calculus of computation: decision procedures with applications to verification. Springer, Berlin

    MATH  Google Scholar 

  8. Burgess J (2005) Fixing frege. Princeton University Press, Princeton

    MATH  Google Scholar 

  9. Buss S (1998) Handbook of proof theory, vol 137. Elsevier, Amsterdam

    MATH  Google Scholar 

  10. Chamarthi H, Dillinger P, Manolios P, Vroon D (2011) The acl2 sedan theorem proving system. In: International conference on tools and algorithms for the construction and analysis of systems. Springer, pp 291–295

  11. Clarke EM, Grumberg O, Peled D (1999) Model checking. MIT Press, Cambridge

    Google Scholar 

  12. Enderton H, Enderton HB (2001) A mathematical introduction to logic. Academic press, London

    MATH  Google Scholar 

  13. Gallier JH (2015) Logic for computer science: foundations of automatic theorem proving. Courier Dover Publications, New York

    MATH  Google Scholar 

  14. Garey MG, Johnson DS (1979) Computers and intractability. Mathematical series. W.H. Freeman and Company, San Francisco

    MATH  Google Scholar 

  15. Goldreich O (2008) Computational complexity: a conceptual approach. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  16. Harrison J (2009) Handbook of practical logic and automated reasoning. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  17. Hilbert D, Ackermann W (1928) Grundzüge der theoretischen logik, vol 1037. Springer, Berlin, p 23

    MATH  Google Scholar 

  18. Hodges W (1993) Model theory, vol 42. Encyclopedia of mathematics and its applications. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  19. Huth M, Ryan M (2004) Logic in computer science: modelling and reasoning about systems. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  20. Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Softw Eng Methodol (TOSEM) 11(2):256–290

    Article  Google Scholar 

  21. Jech T (1978) Set theory. Academic Press, London

    MATH  Google Scholar 

  22. Jech T (2003) Set theory. The third millenium edition, revised and expanded. Springer monographs in mathematics. Springer, Berlin

    Google Scholar 

  23. Knuth DE (1969) The art of computer programming, vol 1. Addison Wesley, Boston

    MATH  Google Scholar 

  24. Lethbridge TC (2000) What knowledge is important to a software professional? Computer 33(5):44–50

    Article  Google Scholar 

  25. Libkin L (2004) Elements of finite model theory. Springer, Berlin

    Book  MATH  Google Scholar 

  26. Makowsky JA (2008) From Hilbert’s program to a logic toolbox. Ann Math Artif Intell 53(1–4):225–250

    Article  MATH  MathSciNet  Google Scholar 

  27. Makowsky JA (2015) Teaching logic for computer science: are we teaching the wrong narrative? In: TTL 2015 proceedings of fourth international conference on tools for teaching logic

  28. Mendelson E (1987) Introduction to mathematical logic. Wadsworth Publ. Co., Belmont, CA

  29. Page RL (2003) Software is discrete mathematics. In: ACM SIGPLAN notices, ACM, vol 38.9, pp 79–86

  30. Papadimitriou C (1994) Computational complexity. Addison Wesley, Boston

    MATH  Google Scholar 

  31. Shoenfield J (1967) Mathematical logic, vol 21. Addison-Wesley, Boston

    MATH  Google Scholar 

  32. Soare RI (2016) Turing computability: theory and applications. Springer, Berlin

    Book  MATH  Google Scholar 

  33. Spichkova M (2016) Boring formal methods or Sherlock Holmes deduction methods? In: Federation of international conferences on software technologies: applications and foundations. Springer, pp 242–252

  34. Tavolato P, Vogt F (2012) 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

  35. ten Cate B, van Benthem J, Vaananen J (2007) Lindstrom theorems for fragments of first-order logic. In: 22nd annual IEEE symposium on logic in computer science, 2007, LICS 2007. IEEE, pp 280–292

  36. van Benthem J, ten Cate B, Väänanen J (2009) Lindstrom theorems for fragments of first-order logic. Log Methods Comput Sci 5:280–292

  37. Wikipedia, Liberal arts education. https://en.wikipedia.org/wiki/Liberal_arts_education#Seven_liberal_arts

  38. Wikipedia, Vienna circle. https://en.wikipedia.org/wiki/Vienna_Circle

  39. Wing JM (2000) Invited talk: weaving formal methods into the undergraduate computer science curriculum. Algebraic methodology and software technology. Springer, Berlin, pp 2–7

    Chapter  Google Scholar 

  40. Zamansky A, Farchi E (2015) Helping the tester get it right: towards supporting agile combinatorial test design. In: 2nd human-oriented formal methods workshop (HOFM 2015)

  41. Zamansky A, Farchi E (2015) Teaching logic to information systems students: challenges and opportunities. In: TTL 2015 proceedings of fourth international conference on tools for teaching logic

  42. Zamansky A, Rogachevsky K, Levy M, Kogan M (2016) How many likes can we get for logic? Exploring the potential of Facebook for enhancing core software engineering courses. In: Proceedings of the European conference on software engineering education

  43. Zamansky A, Zohar Y (2016) Mathematical does not mean boring: integrating software assignments to enhance learning of logico-mathematical concepts. In: International conference on advanced information systems engineering. Springer, pp 103–108

  44. Zamansky Z (2017) Teaching logic to information systems students: a student-centric approach. IFCOLOG J Log Appl (forthcoming)

Download references

Acknowledgements

The second author was supported by the Israel Science Foundation under Grant agreement 817/15.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. Zamansky.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Makowsky, J.A., Zamansky, A. Keeping logic in the trivium of computer science: a teaching perspective. Form Methods Syst Des 51, 419–430 (2017). https://doi.org/10.1007/s10703-017-0301-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-017-0301-z

Keywords

Navigation