Propositional and first order logic. Equivalence and methods of proof. Basics of counting. Set operations, relations, functions. Grammars and finite state automata. Applications to computer science and engineering.
The objectives of this course are to introduce the mathematical concepts that provide the basis for much of computer science and to develop the ability to describe and analyze problems in a logical and systematic fashion.