The course is intended to provide the foundations to mathematical rigor that are used in most areas of Computer  Science and limitations of computation. The topics include Logic, Basic Combinatorics and elements of Computability.