*Official course description, subject to change:*

### Discrete Mathematics, MSc SD

##### Course info

##### Programme

##### Staff

##### Course semester

##### Exam

##### Abstract

The course is an introduction to discrete mathematics as a foundation to work within the fields of computer science, information technologies, and software development.##### Description

Mathematics and logic are our key tools for both understanding computers and for modelling the world around us. Abstractions from mathematics pervade computer science, and to truly excel at both programming computers and model aspects of the real world in computers, one must understand the core vocabulary of mathematics provided in this course.

The course aims at providing the basics of the mathematical foundations of computer science.

The course develops the necessary terminology and conceptual tools needed for later courses. This includes:

- formal reasoning, induction, set theory, relations and functions
- models of computation, such as finite state machines and grammars
- basic graph theory, language theory
- combinatorics, probability and number theory

Central terms and concepts: Logic, specifications, sets and sequences, functions, sums, induction and recursion, number theory, permutations and combinations, discrete probability, relations, graphs, trees, finite state machines, grammars and theory of computation.

##### Formal prerequisites

There are no formal prerequisites. However, we expect that you remember how to do basic high school algebra (solving linear and quadratic equations; simplifying arithmetic expressions; working with fractions, exponentiations, and logarithms; inequalities). The course starts with a*very*quick refresher on these topics in the first week. But we recommend the

*Algebra 1*course on khanacademy.org if you need a more thorough refresher.

Please note that this course is not open to bachelor-students. Instead bachelor students can take the SWU Bachelor course: Foundations of Computing - Discrete Mathematics BSc.

##### Intended learning outcomes

After the course, the student should be able to:

- Describe and apply formal definitions
- Conduct and explain basic formal proofs
- Work with regular languages and finite state machines
- Use models of computation and specification
- Use combinatorial reasoning
- Assess probabilities of events
- Use basic modular arithmetic

##### Ordinary exam

**Exam type:**

A: Written exam on premises, External (7-point scale)

**Exam variation:**

A33: Written exam on premises on paper with restrictions