Discrete Structures Course Content Overview
CSI2101 Discrete Structures :
Introduction
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms
► reasoning about programs and algorithms
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
2 relational thinking
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
2 relational thinking
3 recursive thinking
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
2 relational thinking
3 recursive thinking
4 quantitative
thinking
(counting)
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
2 relational thinking
3 recursive thinking
4 quantitative
5 thinking
(counting)
analytical thinking
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
1 logical thinking
2 relational thinking
3 recursive thinking
4 quantitative
5 thinking
6 (counting)
analytical thinking
applied thinking
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Discrete Mathematics is essential to Computer Science!
The various aspects of discrete mathematics form the foundation
for:
► modelling computing structures
► designing programs and algorithms reasoning
► about programs and algorithms solving real-
► world problems using the computer
► in particular, solving problems in information technology,
i.e. problems involving computers, communication, information.
Aspects of discrete mathematics: (David J. Hunter, Essential of Discrete Mathematics, 2009)
logical thinking
1
2 relational thinking
3 recursive thinking
4 quantitative
5 thinking
6 (counting)
analytical thinking
Question: How these 5 aspects appear in the the activities listed
applied thinking
above?
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-
thinking :-)))) )
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-thinking :-)))) )
propositional logic
propositional calculus allows us to make logical deductions
formally
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-thinking :-)))) )
propositional logic
propositional calculus allows us to make logical deductions
formally
predicate logic
make a proposition to depend on a variable and we get a predicate;
here the logical deductions include quantifiers (for all, there exists)
in front of the predicates)
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-thinking :-)))) )
propositional logic
propositional calculus allows us to make logical deductions
formally
predicate logic
make a proposition to depend on a variable and we get a predicate;
here the logical deductions include quantifiers (for all, there exists)
in front of the predicates)
methods of proof: direct, by contraposition, by contradiction
use what you learned in formal/symbolic logic, to guide your
reasoning on mathematical proofs (written in paragraph
form)
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-thinking :-)))) )
propositional logic
propositional calculus allows us to make logical deductions
formally
predicate logic
make a proposition to depend on a variable and we get a predicate;
here the logical deductions include quantifiers (for all, there exists)
in front of the predicates)
methods of proof: direct, by contraposition, by contradiction
use what you learned in formal/symbolic logic, to guide your
reasoning on mathematical proofs (written in paragraph form)
logic in programming
imperative programming: conditional statements (if-then-else, do-while)
logic programming languages (e.g. prolog): uses the rules of predicate logic
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Logical
Thinking
formal logic
(symbolic manipulation of notation; logical not-thinking :-)))) )
propositional logic
propositional calculus allows us to make logical deductions
formally
predicate logic
make a proposition to depend on a variable and we get a predicate;
here the logical deductions include quantifiers (for all, there exists)
in front of the predicates)
methods of proof: direct, by contraposition, by contradiction
use what you learned in formal/symbolic logic, to guide your
reasoning on mathematical proofs (written in paragraph form)
logic in programming
imperative programming: conditional statements (if-then-else, do-while)
logic in circuits
logic programming languages (e.g. prolog): uses the rules of predicate logic
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial orderings
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
Question 1: what are each of these structures?
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
Question 1: what are each of these structures?
Question 2: give examples of situations where they can be applied in
computer science.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
Question 1: what are each of these structures?
Question 2: give examples of situations where they can be applied in
computer science.
► Databases: table=relation; record=n-ary tuple
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
Question 1: what are each of these structures?
Question 2: give examples of situations where they can be applied in
computer science.
► Databases: table=relation; record=n-ary tuple
► Dependency of task executions (partial ordering);
topological sorting: order tasks respecting dependencies.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Relational Thinking
It deals with the following type of
structures:
► sets
► functions
► relations
► partial
► orderings graph
theory
Question 1: what are each of these structures?
Question 2: give examples of situations where they can be applied in
computer science.
► Databases: table=relation; record=n-ary tuple
► Dependency of task executions (partial ordering);
topological sorting: order tasks respecting dependencies.
► Graphs: networks (communication, roads, social),
conflicts (timetabling, coloring maps),
hierarquies (rooted trees), diagrams (binary relations).
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Recursive
Thinking
Recurrence relations
Recursively defined sequences of numbers. e.g. Fibonacci sequence.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Recursive
Thinking
Recurrence relations
Recursively defined sequences of numbers. e.g. Fibonacci sequence.
Recursive definitions
e.g. binary trees, recursive geometry/fractals
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Recursive
Thinking
Recurrence relations
Recursively defined sequences of numbers. e.g. Fibonacci sequence.
Recursive definitions
e.g. binary trees, recursive geometry/fractals
Proofs by induction
Prove that P (n) is true for all n ≥ 0:
basis: P (0) is true + induction step P (n) ⇒ P (n + 1)
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Recursive
Thinking
Recurrence relations
Recursively defined sequences of numbers. e.g. Fibonacci sequence.
Recursive definitions
e.g. binary trees, recursive geometry/fractals
Proofs by induction
Prove that P (n) is true for all n ≥ 0:
basis: P (0) is true + induction step P (n) ⇒ P (n + 1)
Recursive data structures
e.g. binary search trees
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Recursive
Thinking
Recurrence relations
Recursively defined sequences of numbers. e.g. Fibonacci sequence.
Recursive definitions
e.g. binary trees, recursive geometry/fractals
Proofs by induction
Prove that P (n) is true for all n ≥ 0:
basis: P (0) is true + induction step P (n) ⇒ P (n + 1)
Recursive data structures
e.g. binary search trees
Recursive algorithms
e.g. binary search, mergesort, solving towers of Hanoi.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
combinations, permutations, arrangements,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
combinations, permutations, arrangements,
the pigeonhole principle,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
combinations, permutations, arrangements,
the pigeonhole principle,
discrete probability,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
combinations, permutations, arrangements,
the pigeonhole principle,
discrete probability,
counting operations in algorithms,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Quantitative
Thinking
counting,
combinations, permutations, arrangements,
the pigeonhole principle,
discrete probability,
counting operations in algorithms,
estimating growth of functions, big-Oh notation.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
► Writing algorithms that are efficient.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
► Writing algorithms that are efficient.
* algorithm complexity,
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
► Writing algorithms that are efficient.
* algorithm complexity,
* analysis of algorithms.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
► Writing algorithms that are efficient.
* algorithm complexity,
* analysis of algorithms.
Question: How previous tools can be applied in each of the above
areas?
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Analytical
Thinking
Apply previous tools to analyze problems of interest such as:
► Writing programs that are correct.
software engineering tools: testing versus verification.
* loop invariants,
* program correctness and verification.
► Writing algorithms that are efficient.
* algorithm complexity,
* analysis of algorithms.
Question: How previous tools can be applied in each of the above
areas?
► This question will be answered more fully by the studies in this course.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Applied
Thinking
Making the bridge between the mathematical tools and problems we
need to solve.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Applied
Thinking
Making the bridge between the mathematical tools and problems we
need to solve.
► problem solving skills
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Applied
Thinking
Making the bridge between the mathematical tools and problems we
need to solve.
► problem solving skills
► modelling
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Applied
Thinking
Making the bridge between the mathematical tools and problems we
need to solve.
► problem solving skills
► modelling
Before using tools we need to learn the language and methods.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Why Discrete Mathematics ?
Applied
Thinking
Making the bridge between the mathematical tools and problems we
need to solve.
► problem solving skills
► modelling
Before using tools we need to learn the language and methods.
A lot of the course will focus on acquiring the mathematical
skills. But we don’t want to lose sight of their use in applications.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Course Content Overview
Calendar
description:
CSI2101 Discrete Structures (3,1.5,0) 3 cr. Discrete structures as they
apply to computer science, algorithm analysis and design. Predicate logic.
Review of proof techniques; application of induction to computing
problems. Graph theory applications in information technology. Program
correctness, preconditions, postconditions and invariants. Analysis of
recursive programs using recurrence relations. Properties of integers and
basic cryptographical applications. Prerequisite: MAT1348.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Course Content Overview
Objectives:
Discrete mathematics form the foundation for computer science;
it is essential in every branch of computing.
In MAT1348 (discrete mathematics for computing) you have
been introduced to fundamental problems and objects in discrete
mathematics.
In CSI2101 (discrete structures) you will learn:
► more advanced concepts in discrete mathematics
► more problem solving, modelling, logical reasoning and writing precise
proofs
► how to apply concepts to various types of problems in computing:
analyse an algorithm, prove the correctness of a program, model a
network problem with graphs, use number theory in cryptography,
etc.
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Course Content Overview
Textboo
k
Kenneth H. Rosen, Discrete Mathematics and Its
Applications, Seventh Edition, McGraw Hill, 2012.
Theory and Problems of DISCRETE MATHEMATICS, Third
Edition, Schaum’s Outline Series, McGraw Hill
INFT-1103 Discrete Structures
Discrete Structures Course Content Overview
Course Content Overview
Topic by topic (approximate number of lectures, order may vary)
outline:
1 Introduction (1)
2 Propositionl logic (1)
3 Predicate logic (3)
4 Rules of inference/proof methods (2)
5 Basic number theory and applications (4)
6 Induction and applications. (4)
Program correctness and verification (1)
7 Solving recurrence relations. Complexity of divide-and-conquer
algorithms. (4)
8 Graphs (3)
INFT-1103 Discrete Structures