At the end of the course, the students will:
- Apply proof techniques to a variety of problems
- Use predicate logic to model knowledge
- Have a knowledge of set theory and its applications
- Have a basic understanding of functions and relations
- Understand tree and graph representations
- Have a basic knowledge of formal languages, grammars, and finite-state machines.