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.
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.
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.
Review of Set notation and concepts
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.
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 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.
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.)
Review of content covered and suggestions for preparing for end of semester exam.