The important role that discrete structures plays in computer science is gaining recognition.
Computing Curricula 2001 (CC2001), the latest curriculum recommendation for computer-
related education, was a joint undertaking of the Institute for Electrical and Electronic
Engineers/Computer Society (IEEE/CS) and the Association for Computing Machinery
(ACM). The final report may be found at http://www.acm.org/sigcse/cc2001/. CC2001 identi
fies a computer science body of knowledge, a set of knowledge units 'for which there is a
broad consensus that the material is essential to an undergraduate degree in computer sci
ence." CC2001 describes discrete structures as "foundational material for computer science"
and devotes 43 hours of the computer science body of knowledge, more than to any other
area, to discrete structures.
This fifth edition of Mathematical Structures for Computer Science covers all the topics
in the CC2001 discrete structures core and quite a bit more. All topics suggested for a one-
semester version and virtually everything suggested for a two-semester version of a discrete
structures course are covered here.
Themes of the importance of logical thinking, the power of mathematical notation, and
the usefulness of abstractions continue to bind together what otherwise appears to be a collec
tion of disjointed topics. Of all computer science courses, discrete structures is probably the
least appreciated in real time—and the most appreciated, given more perspective. Two years
after the fact, students report back, "Every course I had after that used material from discrete