Title: Nifty Examples in Discrete Mathematics: Introduction
1Nifty Examples in Discrete Mathematics
Introduction
- SIGCSE 2005
- St. Louis, MO
- February 23, 2005
- Susanna S. Epp
2A Tale of Two Programmers
- Unsuccessful Programmer
- Basically uses trial and error
- Reflects briefly and plunks out some code
- Tests with a sample data set
- Patches things up here and there, tries again,
and again, ... - Either gives up in frustration, or "finishes"
with code that gives the right output for a few
simple data sets and hopes for the best.
3 - Successful Programmer
- Is able to communicate with the client to develop
an understanding of the problem - Develops each segment of code from a mental
overview of the purpose of the segment - Is comfortable with the mental abstractions
involved in the software being used - Has a sense for the logical flow of statements
needed to achieve the segment's goal
4 - Clearly understands the bigger picture that the
segment is supposed to fit into - When debugging is needed, reads code with
understanding and insight into all its aspects - Chooses sample data sets for test runs through a
careful deductive process that narrows down the
possible sources of error to a relatively small
number, which can be tried out in a relatively
short time
5What Prepares the Successful Programmer?
- Starting with small programs and working up to
more complex ones - Really good guidance from really good courses
- Experience with logic and proof!!!
6Why Mathematical Proof?
- What is learned when a person becomes able to
understand and develop basic mathematical proofs?
- The power of certain abstract logical principles
(e.g., modus ponens, modus tollens, universal
instantiatiation, generalizing from the generic
particular, ) - How to think with symbols rather than specific,
concrete objects - Respect for the meanings of words, careful use of
language
7 -
- How to deal with multiple levels of abstraction,
to move back and forth between the abstract and
the particular - The necessity of being able to give a valid
reason for the correctness of each statement in a
chain - How to understand and build a logically connected
chain of statements - think in a tightly
disciplined way -
8 Quotation
Programming reliably - must be an activity of
an undeniably mathematical nature. . . You see,
mathematics is about thinking, and doing
mathematics is always trying to think as well as
possible. Edsger W. Dijkstra (1981) "Why
correctness must be a mathematical concern." In
The Correctness Problem in Computer Science,
Robert S. Boyer and J. Strother Moore, eds.,
Academic Press, 1981.
9 Goal of My Course
- Provide foundation for math and cs courses
- Learn specific mathematical topics
- Learn how to support claims with effective
arguments demonstrate things with mathematical
certainty - Improve general reasoning skills
- Dont just code, sit there!
-
10Summary of Student Responses in aDiscrete
Mathematics Course
Problem from first test (62 students) Prove that
the difference of any odd integer minus any even
integer is odd.
Outcome Frequency Relative Frequency
100 correct 12 17
Small mistakes or linguistic infelicities 17 24
Basic idea with moderate mistakes 7 10
(2k1) 2k mistake 20 2 halves 29
Got (2r1) 2s then stymied 8 11
Proof by example 2 2 halves 4
General confusion 4 6
11Excerpt from Article
- Very few of my students had an intuitive feel for
the equivalence between a statement and its
contrapositive or realized that a statement can
be true and its converse false. - Most students did not understand what it means
for an if-then statement to be false, and many
also were inconsistent about taking negations of
and and or statements. - Large numbers used the words "neither-nor"
incorrectly, and hardly any interpreted the
phrases "only if" or "necessary" and "sufficient"
according to their definitions in logic.
12Excerpt from Article
- All aspects of the use of quantifiers were poorly
understood, especially the negation of quantified
statements and the interpretation of
multiply-quantified statements. - Students neither were able to apply universal
statements in abstract settings to draw
conclusions about particular elements nor did
they know what processes must be followed to
establish the truth of universally (or even
existentially) quantified statements. - Specifically, the technique of showing that
something is true in general by showing that it
is true in a particular but arbitrarily chosen
instance did not come naturally to most of my
students. - Nor did many students understand that to show the
existence of an object with a certain property,
one should try to find the object.
13Examples
1. Knowing that If an integer n is
not divisible by any prime number less
than or equal to the square root of n, then n is
prime means the same as If an
integer n is not prime, then n is divisible by
some prime number less than or equal
to n. 2. Knowing that The negative
of any irrational number is irrational means
the same as No matter what irrational
number you pick, if you multiply it by
1, the result will also be irrational. And
understanding that This is false if
you can find an irrational number whose
negative is rational.
14 Examples
3. Student says An integer is even if it equals
2k. My response Is 1 an even number?
Does 1 2k ?
But So its pretty important
for k to be an integer! 4. Ask student Is 0
even? Is 0 positive? Is irrational?
In fact, what is a real number? an integer? a
rational number?
15 Two More Quotes
For the human soul is hospitable, and will
entertain conflicting sentiments and
contradictory opinions with much impartiality.
George Eliot, Proem to Romola (1862-63) The
mathematics profession as a whole has seriously
underestimated the difficulty of teaching
mathematics. Ramesh GangolliMER WorkshopMay
31, 1991
16 - Thesis The primary value of a discrete math
course that is specifically addressed to freshman
and sophomore students is that it can be
structured so as to address students' fundamental
misconceptions and difficulties with logical
reasoning and improve their general analytical
abilities. - However It is not easy to change students'
deeply embedded mental habits!
17My Philosophy in a Nutshell
- Teach logical reasoning, not just logic as a
subject - Be conscious of the tension between covering
topics and developing students' understanding - Don't rush to present topics from an advanced
perspective - Be aware that most students today are not very
good at algebra - In general Much miscommunication occurs
because of unjustified assumptions
18OK - Really in a Nutshell
Interaction! Interaction! Interaction!
19Examples for the Workshop
- Introduction to if-then
- Introduction to necessary and sufficient
- Introduction to or and and
- Introduction to multiple quantifiers
- Tiling with trominoes
- Web resources www.depaul.edu/sepp/DMappletsEtc.h
tm