[Paper Review] Teaching Logic for Computer Science: Are We Teaching the Wrong Narrative?
This paper argues that introductory logic courses in computer science should shift focus from classical foundational topics like completeness and compactness theorems to practical modeling skills using second-order logic and logical tools for specification and verification. The proposed approach emphasizes expressive power, definability, and applications in systems design, with core concepts taught via concrete examples and tools like pebble games, rather than abstract proof theory, to better serve working computer scientists.
In this paper I discuss what, according to my long experience, every computer scientist should know from logic. We concentrate on issues of modeling, interpretability and levels of abstraction. We discuss what the minimal toolbox of logic tools should look like for a computer scientist who is involved in designing and analyzing reliable systems. We shall conclude that many classical topics dear to logicians are less important than usually presented, and that less-known ideas from logic may be more useful for the working computer scientist.
Motivation & Objective
- To address the disconnect between logic's central role in computer science and its declining presence in undergraduate curricula.
- To argue that traditional logic courses overemphasize foundational theorems (e.g., completeness, compactness) at the expense of practical modeling and specification skills.
- To propose a revised curriculum that prioritizes expressive power, logical equivalence, and tools for non-definability (e.g., pebble games) over classical proof-theoretic results.
- To advocate for integrating sets and logic into a single foundational course to improve coherence and reduce redundancy across the CS curriculum.
- To position advanced logic topics—such as proof theory, model theory, and modal logics—as appropriate for graduate-level study rather than undergraduate core courses.
Proposed method
- Propose a restructured logic course that begins with quantified propositional logic and Boolean functions as a foundation for understanding logical meaning.
- Introduce second-order logic (SOL) as the primary framework, with first-order logic (FOL) treated as a special case, to emphasize expressive power and specification capabilities.
- Teach logical equivalence and consequence through semantic interpretation (Boolean functions) rather than syntactic derivations.
- Focus on tools for proving non-definability, such as pebble games and preservation theorems, to support reasoning about system properties.
- Defer classical results like completeness and incompleteness theorems to advanced graduate courses in decision procedures, proof theory, or model theory.
- Integrate modeling of computational artifacts as sets with logical formalization to unify foundational concepts and enhance applicability.
Experimental results
Research questions
- RQ1Why are logic courses in computer science curricula being removed despite logic's central role in systems design and verification?
- RQ2What core logical tools are most essential for computer scientists working on reliable systems, and how do they differ from those emphasized in traditional logic education?
- RQ3How can logic education be restructured to prioritize practical modeling and specification skills over foundational theorems?
- RQ4What is the role of second-order logic in teaching logical expressiveness and definability in computer science contexts?
- RQ5Can a unified course on sets and logic better serve undergraduate computer science students than fragmented, redundant offerings across multiple courses?
Key findings
- The traditional focus on completeness, compactness, and first-order logic in undergraduate logic courses is didactically counterproductive and contributes to the marginalization of logic in CS curricula.
- Students benefit more from learning to model systems using second-order logic and to reason about definability with tools like pebble games than from studying completeness theorems in isolation.
- The integration of sets and logic into a single foundational course improves coherence, reduces redundancy, and enhances the practical relevance of the material.
- Classical results such as the completeness and incompleteness theorems are better suited for graduate-level courses in proof theory or decision procedures, not for introductory computer science education.
- The success of logic in practical domains like databases, formal verification, and automated reasoning suggests that applied logical tools should take precedence over foundational narratives in teaching.
- The author’s proposed course structure—centered on modeling, expressive power, and definability—has been successfully implemented and scaled at the Technion with over 400 students per year, demonstrating its pedagogical viability.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.