# Mathematics for Computer Science

## Mathematics for Computer Science

#### Aims

To develop confidence in the use of simple mathematics.
To provide a knowledge of the mathematical concepts essential for study and professional practice in Computing Science and Software Engineering.
To revise key areas of basic mathematics.
To practice the basic techniques of mathematics for modelling and solving computing problems.
To prepare students for the more advanced mathematics they will encounter on their degree.
To develop an awareness of the role of mathematics in Computing Science.

This module introduces the key mathematical skills needed in computing science. It revises key areas of basic mathematics and covers important topics in discrete mathematics. The module aims to develop the students confidence in using basic mathematical techniques.

#### Outline Of Syllabus

Discrete Structures – functions relations and sets
– Functions (surjections, injections, inverses, composition)
– Relations (reflexivity, symmetry, transitivity, equivalence relations)
– Sets (Venn diagrams, complements, Cartesian products, power sets)
– Pigeonhole principle
Discrete Structures – basic logic
– Propositional logic
– Logical connectives
– Truth tables
– Normal forms (conjunctive and disjunctive)
– Validity
– Predicate logic
– Universal and existential quantification
– Modus ponens and modus tollens
– Limitations of predicate logic
Discrete Structures – proof techniques
– Notions of implication, converse, inverse, contrapositive, negation, and contradiction
– The structure of mathematical proofs
– Direct proofs
– Proof by counterexample
– Mathematical induction
– Recursive mathematical definitions
Discrete Structures – basics of counting
– Counting arguments
– Sum and product rule
– Arithmetic and geometric progressions
– Fibonacci numbers
– Permutations and combinations
– Basic definitions
– Pascal’s identity
– The binomial theorem
Discrete Structures – graphs and trees
– Trees
– Undirected graphs
– Directed graphs
Other
– Matrices and vectors.
– Real-valued functions, exponential growth/decay, logarithms, derivative, min/max, equations.
– Number representations, binary conversion, GCD, Euclid’s algorithm.

0