This course provides a study of the nature of logic and logical reasoning, covering the following topics: arguments, syntax and semantics of propositional logic, validity and equivalence in propositional logic, truth tables, basic proof theory for propositional logic, syntax and semantics of first-order logic, validity and equivalence in first-order logic, basic proof theory for first-order logic, limitations of first-order logic, and applications of logic for problem solving.