This course aims to introduce areas of mathematics of particular importance to computer science: set theory, logic, Boolean algebra, methods of proof, mathematical induction, number theory, discrete probability, combinatorics, functions, relations, recursion, and graphs, including trees. All these areas are extensive and complex; we will review enough vocabulary and structure in each area to see its interconnection with and support of the theory and practice of computer science. An emphasis will be placed on developing mathematical maturity, the ability to to reason logically and effectively communicate mathematical arguments.

The goal of the course is to familiarize students with the importance of calculus associated with one variable and multivariable for computer science and engineering, analyze computer science and engineering problems by applying Ordinary Differential Equations, use the knowledge of modular arithmetic to computer algorithms, and develop the understanding of Linear Algebra to solve the system of equations.

This course aims to introduce students to fundamental notions of calculus, we emphasize on the study of functions and their rates of change, definitions, concepts, and interpretations of the derivative, definite and indefinite integrals, differentiation, integration with some applications in science and technology. Also included are applied problems in engineering.