Tentative Syllabus
Here is an overview of the material that I would like to cover. I
reserve the right to make modifications based on the interests of
the class and/or time constraints. 
  -  Propositional Logic
  
    - Syntax, semantics & theories
    
- Compactness
    
- Complexity: hardness results & efficiently decidable cases, including 2SAT & HORNSAT
    
- BDDs (Boolean Decision Diagrams)
    
- Davis-Putnam-Loveland-Logemann SAT algorithm
  
 
- First-Order Logic
  
    -  Syntax, semantics & model theory for FOL
    
-  Proof theory & its soundness
    
-  Completeness of FOL
    
-  Compactness, Lowenheim-Skolem, & related theorems
    
-  FOL as the foundations of mathematics
    
-  Undecidability of FOL & arithmetic
    
-  Godel's incompleteness theorems
  
 
-  Decision Procedures
  
    -  Uninterpreted functions & equality
    
-  Presburger arithmetic
    
-  Linear arithmetic
    
-  Combining decision procedures with SMT
  
 
-  ACL2 (A Computational Logic for Applicative Common Lisp)
  
    -  The ACL2 programming language
    
-  The ACL2 logic, recursion and induction
    
-  Effective use of the ACL2 theorem prover & applications
    
-  Selected topics in mechanized reasoning