## MATH2231 Discrete Mathematics with Computation

### 15 creditsClass Size: 70

Module manager: Dr Richard Elwes
Email: r.h.elwes@leeds.ac.uk

Taught: Semester 2 (Jan to Jun) View Timetable

Year running 2022/23

### Pre-requisite qualifications

(MATH1920 or MATH2920) and (MATH1005 or MATH1010 or MATH1060 or MATH1331), or equivalent.

### This module is mutually exclusive with

 MATH2210 Introduction to Discrete Mathematics MATH2230 Discrete Mathematics

This module is not approved as a discovery module

### Module summary

Discrete mathematics is the area of mathematics concerned with the study of discrete (i.e. distinct, separate, unconnected) objects. The typical problems studied in discrete mathematics involve counting the elements of a finite set (e.g. how many ways are there of choosing a 4-digit PIN number?), studying graphs (e.g. can we check that two computers in a network are connected). Correspondingly, the module will introduce key ideas from Combinatorics and Graph Theory, and their algorithmic counterparts.

### Objectives

Discrete mathematics is a wide and very active subject, spanning across pure and applied mathematics. It is generally concerned with objects that are finite (the ways in which we can arrange two teams of 5 players from a group of 10 people) and on finding explicit methods and algorithms to establish their properties. The module will look at two particularly important topics of discrete mathematics: combinatorics and graph theory. The first is generally concerned with counting problems, including aspects of the theory of difference equations. The second is concerned with graphs, which provides effective ways of representing finite (and sometimes even infinite) data.
This module also involves a practical implementation of the algorithmic ideas. Students should improve their programming skills begun in MATH2920, and gain confidence and facility with computational mathematics.
The module offers also good background for MATH3143 (Combinatorics) and MATH3033 (Graph Theory).

Learning outcomes
On completion of this module, students should be able to:
1) Solve counting problems involving binomials, permutations, and the inclusion-exclusion principle;
2) Formulate counting problems as linear difference equations and know some applications;
3) Solve linear difference equations and some linearizable ones;
4) Test a graph to determine whether it is connected;
5) In simple cases, determine whether or not a graph is planar;
6) Use algorithms to find shortest paths and spanning trees in a graph;
7) Prove and apply Euler's formula for planar graphs.
8) Be able to write some Python programs for the algorithms seen and some variants thereof.

### Syllabus

1. Combinatorics: counting problems and their relevance for calculating probability; number of functions between finite sets; the binomial theorem and applications to the number of surjections and derangements; combinatiorial problems solvable by difference equations; linear difference equations; some linearizable difference equations; applications.
2. Graph Theory: graphs; adjacency matrices; handshaking lemma; subgraphs; isomorphism of graphs; connected graphs; algorithms to find a shortest path; trees; Cayley's formula; spanning trees; the matrix-tree theorem; planar graphs; Euler's formula; planarity tests.
3. Algorithmic aspects: algorithmic complexity; divide-and-conquer algorithms; data structures for graphs; Dijkstra's algorithm for shortest path in a weighted graph; Kruskal's and Prim's algorithm for minimum spanning tree in a weighted graph.

### Teaching methods

 Delivery type Number Length hours Student hours Workshop 10 1.00 10.00 Lecture 11 1.00 22.00 Practical 5 2.00 10.00 Tutorial 5 1.00 5.00 Private study hours 103.00 Total Contact hours 47.00 Total hours (100hr per 10 credits) 150.00

### Private study

Studying and revising of course material.
Completing of assignments and assessments.

### Opportunities for Formative Feedback

Regular problem solving assignments

### Methods of assessment

Coursework
 Assessment type Notes % of formal assessment Computer Exercise In order to pass the module, students must pass the MATH2230 component (which is at least 40% on exam and in-course assessment combined) and score at least 40% on the Computer Exercises. 30.00 In-course Assessment . 10.00 Total percentage (Assessment Coursework) 40.00

Students who have failed the MATH2230 component will need to resit the exam; students who have failed the computer exercises will need to resubmit these. There is no resit available for the 10% in-course assessment component of this module. If the module is failed, the mark for this component will be carried forward and added to the resit exam and/or computer exercises mark with the same weighting as listed above.

Exams
 Exam type Exam duration % of formal assessment Open Book exam 2 hr 00 mins 60.00 Total percentage (Assessment Exams) 60.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated