🤖 AI Summary
This work addresses the challenges students face in large-scale theoretical computer science courses due to the abstract nature of logic and the lack of scalable automated assessment mechanisms. To bridge this gap, the authors propose LogicLab—a lightweight, Racket-based pedagogical toolkit that integrates logic instruction with students’ existing programming experience through composable functional interfaces aligned with standard course notation. LogicLab supports parsing, rendering, equivalence transformation, normal form conversion, truth-value evaluation, resolution rule application, Davis–Putnam procedure execution, and step-by-step deductive proof validation, all while providing immediate feedback and enabling automated grading. By significantly lowering the entry barrier, the system enhances student engagement, strengthens formal reasoning skills, and deepens conceptual understanding, offering a consistent, integrable, and scalable solution for teaching and assessing logic in large courses.
📝 Abstract
Large required courses in theoretical computer science face two related challenges: helping students engage with abstract material and supporting reliable student assessment at scale. This paper describes LogicLab, a lightweight computational toolkit developed for CS 245, Logic and Computation, at the University of Waterloo. The course is required for undergraduate computer science students and serves a large annual cohort.
The main pedagogical objective is to help students concretize the ideas they encounter in lectures and assignments. Handwritten formulas and proof steps do not give students immediate correctness feedback. This can slow their development of confidence in formal reasoning and makes assessment harder to apply consistently at scale. LogicLab addresses this by allowing students to manipulate formulas, transformations, clauses, valuations, and proof steps as computational objects in Racket, building directly on their Scheme/Racket experience from the first-year curriculum. LogicLab provides tools for parsing and displaying formulas, applying equivalence transformations, converting to normal forms, simplifying formulas, working with valuations, applying resolution rules, running a Davis-Putnam style procedure, and verifying formal deduction steps. The system is lighter than a general proof assistant such as Coq or Lean and uses notation aligned with the course. It exposes composable functions students can invoke individually or use to program their own automations.
The paper presents the design rationale, system organization, and planned course integration of LogicLab as a practical model for using computational tools to support engagement, conceptual concreteness, and more consistent assessment in large formalreasoning courses.