# CS130 Mathematics for Computer Scientists I

# CS130-15 Mathematics for Computer Scientists 1

##### Introductory description

This module introduces some of the fundamental mathematical ideas

that are used in the design and analysis of computer systems and software.

The module makes you familiar with basic concepts and notation, helps you

to develop a good understanding of mathematical proofs, and enables you

to apply mathematics to solving computer science problems. The focus in

CS130 is on discrete (i.e. not continuous) mathematics and probability.

##### Module aims

The module aims to provide students with sufficient mathematical knowledge to enable them to understand the foundations of their subject for both study purposes and later career development.

It seeks to bridge the gap in style and content between A-level and university mathematics, and to introduce students to the language and methods of professional mathematics.

##### Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

- The axiomatic method. Basic concepts, axioms, definitions, theorems. Finite and infinite sets. Natural numbers, induction.
- Logic. Statements, truth values, Boolean operators, laws of propositional logic. Predicates, quantifiers, laws of predicate logic.
- Sets. Connection between sets and predicates. Operations on sets. Laws of set operations.
- Relations. Relation composition and inverse. Properties of relations. Equivalence relations, equivalence classes, quotient sets. Partial orders..
- Functions. Properties of functions. Equinumerous sets. Countable and uncountable sets.
- Graphs. Graph isomorphism. Graph connectivity. Eulerian and Hamiltonian graphs.
- Mathematical induction
- Basic probability

##### Learning outcomes

By the end of the module, students should be able to:

- -Understand and use basic mathematical terminology.
- - Understand the role of formal definitions and proofs and be able to apply them in problem solving.
- - Understand the basics of propositional and predicate logic.
- - Understand the basics of elementary set theory.
- - Understand the basics of mathematical relations and functions.
- - Understand the basics of graph theory.

##### Indicative reading list

Please see Talis Aspire link for most up to date list.

View reading list on Talis Aspire

##### Subject specific skills

Problem Solving

Understanding Abstract Concepts

##### Transferable skills

Critical Thinking

Creativity

## Study time

Type | Required |
---|---|

Lectures | 30 sessions of 1 hour (20%) |

Seminars | 8 sessions of 1 hour (5%) |

Private study | 112 hours (75%) |

Total | 150 hours |

##### Private study description

Background study

Problems solving

## Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

##### Assessment group D1

Weighting | Study time | |
---|---|---|

Problem Set | 20% | |

Summative problem sheet |
||

CS130 | 80% | |

Exam ~Platforms - AEP |

##### Assessment group R

Weighting | Study time | |
---|---|---|

CS130 | 100% | |

exam ~Platforms - AEP |

##### Feedback on assessment

There will be 3 formative small problem sheets, and feedback on problem sheets will be given in seminar sessions.

## Courses

This module is Core for:

- Year 1 of UCSA-G400 BSc Computing Systems
- Year 1 of UCSA-G402 MEng Computing Systems
- Year 1 of UCSA-G500 Undergraduate Computer Science
- Year 1 of UCSA-G503 Undergraduate Computer Science MEng
- Year 1 of UCSA-I1N1 Undergraduate Computer Science with Business Studies

This module is Optional for:

- Year 1 of UCSA-G406 Undergraduate Computer Systems Engineering
- Year 1 of UCSA-G408 Undergraduate Computer Systems Engineering