First Order Logic and proof strategies for reasoning about programs; Basic set and bag definitions, operations, and properties; Using functions to solve problems: to include definitions of function domain, range, image, composition, identity, inverse, abstraction, application, total & partial functions, injections, bijections & surjections; Reasoning using First Order Logic: truth tables, use of conjunction, disjunction, implication, negations, equivalence rules, assertions, ...
Learning Outcomes
Solve problems in computer science applying techniques from discrete mathematics
Outline the basic structure of standard proof techniques
Give examples of standard proof techniques
Use functions to formulate and solve problems
Relate the ideas of mathematical induction to recursion and recursively defined structures
Formulate problems and represent knowledge using first order logic