-
Notifications
You must be signed in to change notification settings - Fork 2
/
preface.tex
42 lines (38 loc) · 2.53 KB
/
preface.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
\chapter{Preface}
Discrete math is a popular book topic --- start Googling around and you'll
find a zillion different textbooks about it. Take a closer look, and you'll
discover that most of these are pretty thick, dense volumes packed with
lots of equations and proofs. They're principled approaches, written by
mathematicians and (seemingly) to mathematicians. I speak with complete
frankness when I say I'm comforted to know that the human race is well
covered in this area. We need smart people who can derive complex
expressions and prove theorems from scratch, and I'm glad we have them.
Your average computer science practitioner, however, might be better served
by a different approach. There are elements to the discrete math mindset
that a budding software developer needs experience with. This is why
discrete math is (properly, I believe) part of the mandatory curriculum for
most computer science undergraduate programs. But for future programmers
and engineers, the emphasis should be different than it is for
mathematicians and researchers in computing theory. A practical computer
scientist mostly needs to be able to \textit{use} these tools, not to
\textit{derive} them. She needs familiarity, and practice, with the
fundamental concepts and the thought processes they involve. The number of
times the average software developer will need to construct a proof in
graph theory is probably near zero. But the times she'll find it useful to
reason about probability, logic, or the properties of collections are
frequent.
I believe the majority of computer science students benefit most from
simply gaining an appreciation for the richness and rigor of this material,
what it means, and how it impacts their discipline. Becoming an expert
theorem prover is not required, nor is deriving closed-form expressions for
the sizes of trees with esoteric properties. Basic fluency with each topic
area, and an intuition about when it can be applied, is the proper aim for
most of those who would go forward and build tomorrow's technology.
To this end, the book in your hands is a quick guided tour of
introductory-level discrete mathematics. It's like a cool, brisk walk
through a pretty forest. I point out the notable features of the landscape
and try to instill a sense of appreciation and even of awe. I want the
reader to get a feel for the lay of the land, and a little exercise. If the
student acquires the requisite vocabulary, gets some practice playing
with the toys, and learns to start thinking in terms of the concepts here
described, I will count it as a success.