This course covers the logic and proofs, basic structures (like sets, functions, and matrices) , counting techniques, relations, graph theory, and trees. Programming languages like C, C++, and Java are likely to be used in the application of those theories aforementioned.