The role of Mathematics in Computer Science has at least two facets:

- it provides a basis for the theoretoical aspects of computing (especially analysis of algorithms and the theory of computation), and
- it supports the application of computation to problems in science and engineering.

This course aims to introduce students to a selection of topics that addresses both facets. First, it introduces them to fundamental concepts in theoretical computer science, such as proofs by induction and the use of graphs as general abstraction mechanism. Second, it exposes students to specific topics that are likely to be relevant to many other areas of application of computing, particularly in the science and engineering disciplines.