The textbook "Mathematical Logic through Python" presents a new approach to teaching the material of a basic Logic course to undergraduate Computer Science students, tailored to the unique intuitions and strengths of this cohort of students.

The book's approach captures the essence of the mathematical analysis of Logic using a sequence of carefully designed programming projects in the Python programming language. Each chapter in the book provides the background for, explanation, implications, and mathematical treatment of an associated programming project. See the book's preface ("Chapter 0" below) for more details on our unique pedagogic approach and its motivations.

- The code needed to implement the projects in the book, which also includes documented skeletons for all of the functions/methods to be implemented, as well as a comprehensive array of unit tests, can be downloaded here. (Version 3.7 or higher of the Python programming language is required.)
- The API of the software suite developed throughout the book can be viewed here.

- Chapter 0: Preface and Overview
- Chapter 1: Propositional Logic Syntax
- Chapter 2: Propositional Logic Semantics
- Chapter 3: Logical Operators
- Chapter 4: Proof by Deduction
- Chapter 5: Working with Proofs
- Chapter 6: The Tautology Theorem
- Chapter 7: Predicate Logic: Syntax and Semantics
- Chapter 8: Getting Rid of Functions and Equality
- Chapter 9: Deductive Proofs of Predicate Logic Formulas
- Chapter 10: Working with Predicate Logic Proofs
- Chapter 11: The Deduction Theorem and Prenex Normal Form
- Chapter 12: The Completeness Theorem
- Chapter 13: Sneak Peek at Mathematical Logic II: Gödel's Incompleteness Theorem