Module Introduction

We will start this module with a short overview of the module aims and objectives, and a summary of what you should expect from me and what I expect from you during the module.

Logic

In this section, on propositional calculus, we will discuss how we analyse statements and how to construct more complex statements using logical operators. This is basis on how computers (and sometimes humans) make decisions.

Methods of Mathematical Proof

In this topic we will review techniques commonly used to prove or disprove mathematical claims. These techniques are universal, i.e., apply across all of Discrete Mathematics and beyond. In order to demonstrate the techniques I will intentionaly pick "non-typical" mathematics problems, in the hope that this helps to show their wide applicability.

Sets

Review of Set notation and concepts

Relations and Functions

In this section we will cover the basics of relations. A relation is essentially a set where every element is an ordered pair, called a key-value pair. From this we will cover a very importnat type of relation called a function.

Enumeration

In this topic, on enumeration, we cover various techniques to count the number of elements in (large) sets, without going throught the pain of actually listing each element in the set.

Graphs and Networks

Graphs and Networks are fundmental data structures in programming, and more recently are important in studying social networks. In this topic we will cover the fundmental concepts and some of the more important algorithms.

Recurrence Relations

This topic deals with recurrance relations and their application to recursion in programming.
(NOTE: we will not cover this topic this year, but are leaving the material here for your interest.)

End of Semester Review

Review of content covered and suggestions for preparing for end of semester exam.