10.1145/3197091.3197127acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article
Public Access

Lab exercises for a discrete structures course: exploring logic and relational algebra with Alloy

Published:02 July 2018Publication History

ABSTRACT

Students in computing disciplines need a strong basis in the fundamentals of discrete mathematics, but traditional offline approaches to teaching this material provide limited opportunities for the kind of interactive learning that computing students experience in their programming assignments. We have been using the Alloy language and analyzer to teach concepts in discrete structures (relational algebra, logic, and graphs) in an exploratory, programming-oriented way. Alloy, however, constitutes a new programming paradigm for introductory students, and careful mediation is needed to keep students on track. We use the familiar programming lab format, where students work on small-scope problems co-located with instructors, to provide guidance as students wrestle with the languages of relational algebra and predicate logic through Alloy. We describe selected lab exercises, and report on initial findings based on our experiences with students.

References

  1. T. Ball and B. Zorn. 2015. Teach Foundational Language Principles. Commun. ACM 58, 5 (2015), 30–31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Barker-Plummer, J. Barwise, and J. Etchemendy. 2007. Language, Proof and Logic. CSLI Publications. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Patrick Blackburn, Hans van Ditmarsch, María Manzano, and Fernando Soler-Toscano (Eds.). 2011. Tools for Teaching Logic: Third International Congress TICTTL 2011. Springer Berlin Heidelberg, Berlin, Heidelberg. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R.C. Boyatt and J.E. Sinclair. 2008. Experiences of Teaching a Lightweight Formal Method. In Proceedings of Formal Methods in Computer Science Education.Google ScholarGoogle Scholar
  5. Fabienne M. Van der Kleij, Remco C. W. Feskens, and Theo J. H. M. Eggen. 2015. Effects of Feedback in a Computer-Based Learning Environment on Students’ Learning Outcomes: A Meta-Analysis. Review of Educational Research 85, 4 (2015), 475–511.Google ScholarGoogle Scholar
  6. Darina Dicheva, Christo Dichev, Gennady Agre, and Galia Angelova. 2015. Gamification in Education: A Systematic Mapping Study. Journal of Educational Technology & Society 18, 3 (2015), 75–88.Google ScholarGoogle Scholar
  7. Kees Doets and Jan van Eijck. 2004. The Haskell Road to Logic, Maths and Programming. College Publications.Google ScholarGoogle Scholar
  8. Ludmila Dostalova and Jaroslav Lang. 2011. ORGANON: Learning Management System for Basic Logic Courses. In Tools for Teaching Logic, Patrick Blackburn, Hans van Ditmarsch, María Manzano, and Fernando Soler-Toscano (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 46–53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Duckworth, C. Peterson, M. Matthews, and D. Kelly. 2007. Grit: Perserverence and Passion for Long-Term Goals. Journal of Personality and Social Psychology 9 (2007), 1087–1101.Google ScholarGoogle ScholarCross RefCross Ref
  10. Wolfgang Effelsberg and Stefan Göbel. 2014. Serious Games 2014: International Workshop on Serious Games. In Proceedings of the 22Nd ACM International Conference on Multimedia (MM ’14). ACM, New York, NY, USA, 1265–1266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Grassman and J-P. Tremblay. 1996. Logic and Discrete Mathematis: A Computer Science Perspective. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Gries and F. Schneider. 1993. A Logical Approach to Discrete Math. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cordilia Hall and John O’Donnell. 2000. Discrete Mathematics Using a Computer. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mohamed Hamada. 2009. Pushdown Automata Simulator. In Learning by Playing. Game-based Education System Design and Development, Maiga Chang, Rita Kuo, Kinshuk, Gwo-Dong Chen, and Michitaka Hirose (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 328–338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Eileen Head. 1998. ASSIST: A Simple Simulator for State Transitions. Ph.D. Dissertation. http://www.cs.binghamton.edu/~softwareGoogle ScholarGoogle Scholar
  16. Maxim Hendriks, Cezary Kaliszyk, Femke Van Raamsdonk, and Freek Wiedijk. 2010. Teaching logic using a state-of-the-art proof assistant. Acta Didactica Napocensia 3, 2 (2010), 35–48.Google ScholarGoogle Scholar
  17. D. Jackson. 2012. Software Abstractions: Logic, Language and Analysis. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Joint Task Force on Computing Curricula. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM and IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. Korkmaz and H. Altun. 2014. Adapting computer programming self-efficacy scale and engineering students’ self-efficacy perceptions. Participatory Educational Research 1 (2014), 20–31.Google ScholarGoogle ScholarCross RefCross Ref
  20. Eric Lehman, F. Thomas Leighton, and Albert R. Meyer. 2017. Mathematics for Computer Science. Samurai Media Limited. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Q. Li and X. Ma. 2010. A meta-analysis of the effect of computer technology on school studentsâĂŹ mathematics learning. Educational Psychology Review 22 (2010), 215–243.Google ScholarGoogle ScholarCross RefCross Ref
  22. Maria Virginia Mauco, Enzo Ferrante, and Laura Felice. 2014. Educational Software for First Order Logic Semantics in Introductory Logic Courses. Information Systems Education Journal 12, 6 (2014), 15–23.Google ScholarGoogle Scholar
  23. Mark McCartin-Lim, Beverly Park Woolf, and Andrew McGregor. 2018. Connect the Dots to Prove It: A Novel Way to Learn Proof Construction. In Proceedings of the ACM Technical Symposium on Computer Science Education. 533–538. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Beseme Project. 2003. http://www.cs.ou.edu/~beseme/index.htmlGoogle ScholarGoogle Scholar
  25. C. Rakes, J. Valentine, M. McGatha, and R. Ronau. 2010. Methods of instructional improvement in algebra: A systematic review and meta-analysis. Review of Educational Research 80 (2010), 372–400.Google ScholarGoogle ScholarCross RefCross Ref
  26. Susan Rodger and Thomas Finley. 2006. JFLAP — An Interactive Formal Languages and Automata Package. Jones and Bartlett. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K.H. Rosen. 2012. Discrete Mathematics and Its Applications (7 ed.). McGraw-Hill.Google ScholarGoogle Scholar
  28. Christian D. Schunn and Mellisa M. Patchan. 2009. An Evaluation of Accelerated Learning in the CMU Open Learning Initiative Course “Logic & Proofs”.Google ScholarGoogle Scholar
  29. Wilfried Sieg. 2007. The AProS Project: Strategic Thinking & Computational Logic. Logic Journal of the IGPL 15, 4 (2007), 359–368.Google ScholarGoogle ScholarCross RefCross Ref
  30. S. Tarkan and V. Sazawal. {n. d.}. Chief Chefs of Z to Alloy: Using a Kitchen Example to Teach Alloy with Z. In Teaching Formal Methods. Number 5846. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Springer Lecture Notes in Computer Science, 72–91.Google ScholarGoogle Scholar
  32. Leo C. Ureel and Charles Wallace. 2016. Discrete Mathematics for Computing Students: A Programming Oriented Approach with Alloy. In Frontiers in Education.Google ScholarGoogle Scholar
  33. Thomas VanDrunen. 2011. The Case for Teaching Functional Programming in Discrete Math. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (OOPSLA ’11). ACM, New York, NY, USA, 81–86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Charles Wallace. 2018. Learning Discrete Structures Interactively With Alloy. In Proceedings of the ACM Technical Symposium on Computer Science Education. 1051. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. E. Wiebe, L. Williams, K. Yang, and C. Miller. 2003. Computer science attitude survey. http://www4.ncsu.edu/~wiebe/www/articles/prl-tr-2003-1.pdfGoogle ScholarGoogle Scholar

Index Terms

  1. Lab exercises for a discrete structures course: exploring logic and relational algebra with Alloy

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education
            July 2018
            394 pages
            ISBN:9781450357074
            DOI:10.1145/3197091

            Copyright © 2018 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 July 2018

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate490of1,403submissions,35%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!