A detailed list of topics that I am planning to cover in the course is as follows.
Propositional logic: Propositions, operations on propositions, disjunctive and conjunctive forms of propositions, proving equivalence of propositions, and algebra of proposition.
Predicate logic (or First-order logic): Predicates, universal and existential quantifiers, quantifiers over finite domains, De Morgan's law for quantifiers, and translating English sentences to logical expressions.
Introduction to proofs (Part 1): Logical deductions, direct proofs, proof by contraposition, proving biconditionals, proof by cases.
Introduction to proofs (Part 2): Proof by contradiction and proof by counterexamples.
Introduction to proofs (Part 3): Mathematical induction and strong mathematical induction.
Introduction to set theory (Part 1): Definition and examples of sets, comparing and combining sets, and operations on sets.
Set theory (Part 2): Sequences, functions, equality of functions, composition of functions, injective functions, subjective functions, and bijective functions, permutations.
Set theory (Part 3): Pigeonhole principle.
Set theory (Part 4): Binary relations, the domain of a relation, reflexive relations, symmetric relations, transitive relations, equivalence relations, equivalence classes, and partition of a set.
Set theory (Part 5): Finite sets, countably infinite sets, uncountable sets, and Cantor's diagonalization argument.
Regular languages and finite automata (Part 1): Definition and examples of deterministic finite automata (DFA), nondeterministic finite automata (NFA), equivalence of DFA and NFA.
Regular languages and finite automata (Part 2): Regular expressions, equivalence of finite automata and regular expressions, algebra of regular expressions, Non-regular languages, and the pumping lemma for regular languages.
Turing machines: Formal definition and examples, nondeterministic Turing machines, multi-tape Turing machines, and equivalence of one-tape and multi-tape Turing machines.
Decidability and undecidability: Decidable language, the diagonalization method, and undecidable languages.