Conditions of Use
This text covers everything that would be useful for computer science students encountering discrete math for the first time. Many such texts are lacking sections of either probability or combinatorics, while this text includes both. The section... read more
This text covers everything that would be useful for computer science students encountering discrete math for the first time. Many such texts are lacking sections of either probability or combinatorics, while this text includes both. The section on proofs provides motivation and intuition for the different types of proofs, but not much else. However, given the purpose of this text, the information provided is sufficient.
While some statements are ambiguous and some notation is not standard, I did not find any inaccuracies.
In the context of a computer science program, this book seems to gently introduce students to many relevant concepts. The applications of the concepts, however, would be up to the instructor of the course to demonstrate. The downside of writing a text in a conversational tone is that language is always evolving. There are some slang phrases and cultural references that already seem outdated, however, this generally should not impact students' ability to understand the examples.
Due to the conversational tone, there are some things that are generally true that are stated in a way that makes them seem always true. This may be confusing to students being introduced to the material for the first time. Occasionally the point of a statement or concept gets lost, with preference given to maintaining a casual tone.
The tone of the text is consistent. I take no issue with the lack of exercises in later chapters, as those in the first part of the text seem to be largely thought exercises rather than the rigorous application of the material.
It may be difficult to rearrange topics within each section, due to the fact that the individual sections are not all broken up into small subsections. However, the way the material in each section is presented is natural, so this should not pose many issues. The chapters could easily be reorganized. This is particularly true because the text does not contain exercises for every section, and the examples are largely intuitive. Therefore there is very little concern the students may not understand examples from “later” chapters.
It would be useful if facts, definitions, etc were in boxes or a definition or theorem environment in order to emphasize their importance. While the individual sections are not all broken into "bite-size" subsections, I take no issue with this as assigned reading is not a practice I employ when teaching. Due to the fact that the index is hyperlinked to the appropriate pages, students should be able to find whatever they need.
A typical pdf. It is useful that the Table of Contents and Index links to the correct chapters and does so correctly.
While I appreciate and chose this text based on its conversational tone, the use of phrases like “totally legit” and “‘Nuff said” are perhaps too casual. There are scattered instances where the heavy focus on colloquialism makes information less clear.
There is a long history of examples in combinatorics and probability assuming gender is binary (ie what percentage of students are female?). However, that is not reality. If the examples remain as written, the text should include a note to provide context. Better, would be to rewrite the examples to be more inclusive or to not use gendered examples at all.
In general, this is an excellent companion text for lectures. However, it has some gaps or miscommunications that may confuse readers who are not having the material supplemented by instruction. Overall, the text is approachable and easy to read, so a great choice for instructors who already have a set of lecture notes and classroom activities for a discrete math course. Since the text lacks some rigor and does not contain exercises, I would not recommend it to first-time instructors.
The text covers a nice range of topics useful for a student of computer science, including sets, relations and functions, logics and basic proof techniques, basic counting (combinations and permutations), probability, number bases, and some basic... read more
The text covers a nice range of topics useful for a student of computer science, including sets, relations and functions, logics and basic proof techniques, basic counting (combinations and permutations), probability, number bases, and some basic graph theory (primarily algorithms on graphs and trees). Notably missing is any work with sequences, especially recursively defined sequences. I also found that many of the topics covered stopped short of what I would expect (no equivalence relations; no graph coloring; counting stops with combinations).
In the preface, the author describes that his goal was not to write yet another comprehensive discrete math book full for proofs, but rather to gain appreciation for the richness and rigor of the material, and to see how to use the tools rather than to derive them. I happen to believe that a good pedagogical approach to teaching mathematics is to help students understand why a fact is true, and that a proof should help them with this, but that not withstanding, I think the author has missed the mark even in his articulated goals: most of the material seems focused on bringing the reader up to speed with vocabulary rather than highlighting some of the beautiful results of the subject. Further, there is very little in the way of instruction of how to use the topics. Readers are rarely challenged to think about how to solve a particular type of problem; they are just given one or two examples of how concepts are applied.
While a few terms are non-standard (like that a partition can include an empty set), I did not find any inaccuracies or mathematical mistakes.
Given that this is mathematics, there is really no concern about content becoming out of date. Some of the popular culture references used in examples might make future readers scratch their heads, though.
The tone of the book is very conversational, which I like. There are lots of "As I mentioned" (although a mathematician would probably instead write "As we mentioned"), "you might wonder why…" etc. This makes the text very easy to read. most of the examples seem to be non-mathematical, requiring readers to keep track of people's names rather than numbers, which I found a little confusing at times.
Since almost everything is done in prose, it is sometimes difficult to see where one example ends and the next starts. Some further organization of content (numbered examples, blue boxes around important facts) would help the clarity and actually make the text more friendly for students.
I didn't notice any problems with consistency. There is some change in chapter organization as the book progresses (lots of short sections in early chapters, replaced by un-numbered subsections in later chapters) but this was not distracting. Also, while the first few chapters have some "concept-check" style exercises, the later chapters do not.
In later chapters, more numbered subsections would help in assigning smaller reading blocks. Numbered examples would help students and instructors refer to parts easily. But I was impressed by the level of independence between chapters, for the most part, given the conversational style of the book. I suspect that with the exception of the first two chapters, it would be easy for an instructor to jump around or skip chapters entirely.
In terms of content, the organization is perfectly adequate. Again, the lack of numbered subsections and examples would make conversations about the text difficult, and make it harder for students to refer to specific things.
The PDF seems fairly standard (the index hyperlinks to pages correctly, it appears). The table of contents (and therefore the PDF's "bookmarks" do not go beyond chapters, which makes it difficult to find sections for reading). For future editions, the author might consider an HTML version using software such as PreTeXt.
I did not notice any grammatical issues (although the author uses "I" instead of "we" sometimes but not always, but this is a very minor pet peeve).
Most math textbooks are about mathematics, which generally is culturally agnostic; examples of mathematical content need not address a variety of races/ethnicities/backgrounds. It is true that, like many math and computer science books, there is a fair amount of "nerd culture" references, which might be off-putting to some, but I found fun (and they do not impact one's ability to understand the material). However, there is a fairly major issue relating to gender inclusivity. In the chapter about sets, the author often uses the gender of individuals as a way to classify a set: a set of males or a set of females. In discussing a partition, "Every student is either male or female, and no student is both." I shudder to think how a gender-fluid or non-binary student would feel when reading this.
While I very much appreciate the conversational style of the book, and the attempt to make the subject more approachable and understandable, I do not think I would adopt this book for a course I teach. I don't think that students would find the book particularly useful as a primary text, as it doesn't show students how to solve types of problems. From an instructor standpoint, the lack of exercises in later chapters, and the strange presentation of exercises in early chapters, would require me to provide such things myself (the author claims he will send instructors materials if requested, so perhaps this is not really an issue).
Finally, while this is mostly a personal preference issue, I would point out that the author seems to adopt a stance that discrete math is very hard for students and he is here to help make it easy. The word "trick" occurs often, for example. The approach of "here is all you actually need to know" is not to my taste, although I can see that some students might find this helpful.
Comprehensiveness is not necessarily the point of the text, as it is principally concerned with offering Computer Science students an entrance into discrete mathematics that meshes well with CS courses they are likely to have taken. The chapter... read more
Comprehensiveness is not necessarily the point of the text, as it is principally concerned with offering Computer Science students an entrance into discrete mathematics that meshes well with CS courses they are likely to have taken. The chapter on graph theory, for example, mainly concerns graph algorithms and graphs as data structures.
I noticed no issues with the accuracy of the material presented.
The book seems quite relevant for the niche it inhabits as a part of a CS program, for majors. I am less sure about its applicability outside of that context: you could still use it as a set of course notes to supplement with additional topics from other sources to deploy it in a Mathematics program, but at that point you might want to consider another resource first.
The writing style is very colloquial, while keeping some focus on formality and notation. It is directed to the student, though the instructor will have no trouble understanding the rationale of the presentation.
The text does go back and forth a bit in some ways: only the first few chapters have exercises included, for instance. The later chapters also feel more like stand-alone modules designed to cover the requisite bases of topics that may be needed down the road for subsequent courses. The writing style is consistent, though, and while I was reading through it, at no point did I feel as though I had been thrown for a loop.
I would not rate it as especially modular. One reason for this is that definitions are largely presented in-line, called out in bold text. As a result, the sections have a sturdy feel to them – they are not easily broken up! It also very much deemphasizes proofs, prior to the chapter dedicated to them. If you wanted to emphasize them more heavily in the earlier chapters you could move that section up, but you would then also have to go and track the relevant proofs down elsewhere for the other chapters (or reproduce them yourself, of course).
As someone who feels that many possible permutations of the topics in a course on discrete mathematics can be reasonable, I have no objection to the organization here.
Die-hards might object to the fact that not every figure seems to have been produced in LaTeX, but I found it to be sufficiently clear. In terms of being accessible to student readers, though, the format might be somewhat intense for students with less experience reading math texts. The way that some sections require the reader to keep tabs on essential details from several paragraphs ago may be assuming a level of familiarity and skill that, in my experience, many undergraduates struggle with. If I adopted this textbook, I would have to think about how much reading I would feel comfortable requiring of my students, and how much of the text could be instead interpreted as course notes to build lessons from.
I did not detect noticeable grammatical issues.
In keeping with the informal style, the book relies on a lot of pop culture references to things like Star Trek that serve as comfort food to a lot of CS and Math faculty. This would give me some pause about assigning it to students to read. I would not say that any of the discussions or exercises with that flavor were problematic in and of themselves, but I am increasingly leery of adding any additional barriers that might only apply to someone whose first language is not English, say, or even just the many students whose cultural frame of reference is very different from that of someone who was watching American television in the 1990s. One other noticeable thing about the framing of the examples is that the author typically refers to his own family when human subjects are needed. This is again not an objectionable thing to do in a course, but it is frequent enough that for me it would be an issue. If you were to adopt the book as course notes you would likely want to reframe most of these occurrences anyway, though, and that would be an opportunity to add a more diverse cast of characters.
It is also worth mentioning that the book links to the author’s website, where he has made available an extensive series of video lectures covering the entire book. He also encourages instructors using his materials to contact him to receive supporting homework assignments, quizzes, group projects and exams, which I unfortunately did not do in time to make my deadline for this review.
The exercises included in the book are more of a self-check for a student reading along. As I am not sure I would ask students to read through the chapters themselves, I think they could be readily repurposed into classroom activities.
Table of Contents
- Meetup at the trailhead
About the Book
About the Contributors
Stephen Davies, Ph.D, Computer Science Department, University of Mary Washington