Discrete Structures

Why Might This Course Be Useful?

 Last Update: 31 August 2010 Note: or material is highlighted

1. Why should I take this course? Why should I study these things:

• logic (a language for representing & reasoning about math)

• sets (a data structure for representing mathematical objects)

• & these mathematical objects & concepts (all of which will be represented by sets):

• relations
• functions
• recursion
• graphs

• Because it's required by the CSE department!
…but why require it?

• Why not?

• It may be useful to you some day; you never know.

• I've never used calculus
…though it has great intellectual value
& it's a great intellectual achievement.
• I do use logic, sets, relations, functions, graphs, & recursion a lot

• Learning how to think mathematically
(that is: carefully, slowly, logically, analytically)
is useful in any discipline.

• "analytically" means: taking things apart & seeing how they're put together
• etymologically, ‘analyze’ means: to loosen up, to undo, to take apart, to "deconstruct"

• Many CS topics are discrete math topics:

• For example, the theory of databases just is the computational theory of relations
("computational" just means: algorithmic)
• So, databases is just a branch of discrete math

Here are some articles that discuss the importance of discrete math:

2. Dewar, Robert (2009), "CS Education in the U.S.: Heading in the Wrong Direction?", Communications of the ACM 52(7) (July): 41–43.

• p. 42, column 3, first full paragraph discusses how discrete math (in particular, formal reasoning, i.e., logic and proofs) is needed for software engineering.

3. Lohr, Steve (2009), "For Today's Graduate, Just One Word: Statistics", New York Times (5 August): A1.

• Discrete math is an essential background for statistics.
• Article discusses research by Jon Kleinberg, a Buffalonian whose father was a math professor at UB.

Copyright © 2009–2010 by William J. Rapaport (rapaport@buffalo.edu)
http://www.cse.buffalo.edu/~rapaport/191/useful.html-20100831