Using smt solver and logic puzzles for teaching computational logics in discrete mathematics cla

2Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Computational logics is one of the core languages for undergraduate students to build the fundamental knowledge and understanding of the computer science principles. However, unlike other beginnerlevel programming language courses, most students learn computational logics only with deduction or paper-and-pencil problem solving without any programming experiences. This poster shows our case of providing a SMT-solver (e.g., Z3) and programming problems of writing logic puzzle solvers (e.g., Sudoku, Numbrix) as effective learning materials that beginnerlevel students can understand and practice computational logics as rigorous programming languages. These problems involve students modeling a problem as a satisfiability problem, finding and specifying constraints of a problem as predicate logic formulas, and calling a SMT solver from the programs, and other relevant problem-solving activities. We present a set of SMT-solver-based programming assignments (with different difficulty-levels) designed for beginner-level computer science course, instructions for students to equip basic skills for using Z3, useful set-up to challenge and support students at the same time.We also discuss our teaching experiences, open issues and future work.

Cite

CITATION STYLE

APA

Hong, S. (2020). Using smt solver and logic puzzles for teaching computational logics in discrete mathematics cla. In SIGCSE 2020 - Proceedings of the 51st ACM Technical Symposium on Computer Science Education (p. 1381). https://doi.org/10.1145/3328778.3372686

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free