This course presents basic concepts in discrete mathematics needed for the study of computer science: logic and proofs, induction, set theory, functions, counting techniques, discrete probability, recursion, basic number theory and cryptography, relations, trees and graph theory. The approach of this course is specifically computer science application oriented.