Discrete Mathematics By Olympia Nicodemi — Reliable
Before diving into the content, it is important to understand the audience. Discrete math can be intimidating. It requires a shift in thinking from the continuous calculus many of us learned in high school to the distinct, logical world of sets and integers.
Nicodemi’s book is specifically designed to be accessible. It is often used in introductory courses for students who may not yet be math majors but need a solid grounding in the concepts. If you have ever felt overwhelmed by the dense, encyclopedic tomes usually assigned in CS programs, this book comes as a breath of fresh air.
The standout feature of Nicodemi’s writing is her pedagogical approach.
Many math authors seem to write for other mathematicians. Nicodemi writes for the learner. She has a talent for breaking down abstract concepts into digestible pieces. The book doesn't just throw theorems at you; it explains the intuition behind them.
For example, when covering topics like Mathematical Induction—a concept that often trips up beginners—the book provides step-by-step breakdowns and motivations. It bridges the gap between "Here is the formula" and "Here is why the formula works." Discrete Mathematics by Olympia Nicodemi
The textbook follows a standard but carefully curated progression designed to build mathematical maturity incrementally.
3.1. Logic and Sets The book begins with the fundamentals of logic (propositional and predicate logic) and set theory. Nicodemi excels here by introducing formal logic not merely as an abstract concept, but as a tool for constructing valid arguments. The transition from logic to set theory is seamless, utilizing the logical structures previously established to define set operations.
3.2. Proof Techniques Perhaps the most critical section of the text, the chapters on proof techniques are handled with exceptional clarity. The text breaks down direct proofs, proof by contradiction, and mathematical induction into manageable steps. The section on induction—often a stumbling block for students—is particularly noteworthy for its use of intuitive examples (such as the Tower of Hanoi or summation formulas) before moving to rigorous formalism.
3.3. Relations and Functions The text provides a rigorous treatment of relations and functions, essential for database theory and programming language semantics. It covers equivalence relations, partial orders, and bijections with a balance of graphical representation (digraphs) and algebraic definition. Before diving into the content, it is important
3.4. Combinatorics and Graph Theory The latter half of the book covers counting techniques, permutations, and combinations. The graph theory section covers essential definitions, paths, circuits, and trees. While not as exhaustive as specialized graph theory texts, it provides sufficient depth for computer science applications, such as network modeling and sorting algorithms.
3.5. Discrete Probability and Algebraic Structures Depending on the edition, the text also touches upon discrete probability and an introduction to algebraic systems (groups, semigroups), rounding out the necessary theoretical background for advanced CS coursework.
The book contains one of the best slow introductions to proof writing available. She begins with propositional logic and truth tables, then moves to direct proof, proof by contradiction, and finally induction. Each proof is broken down into motive, plan, execution, and reflection. She includes "common pitfalls" boxes—small asides where she explicitly names the errors students make (e.g., "assuming what you are trying to prove," "misplacing parentheses in logical statements").
4.1. Writing Style The hallmark of Nicodemi’s text is its readability. The tone is conversational yet precise. Complex theorems are often preceded by "motivation" sections that explain why the concept is relevant. This addresses a common student complaint regarding the perceived abstraction of mathematics. "Given the recursive definition of the Fibonacci numbers,
4.2. The "Bridge" Function The text acts as an effective "bridge" course. It assumes familiarity with basic calculus but explicitly teaches the transition from calculation-based mathematics to proof-based mathematics. It teaches students how to read and write mathematics, rather than just how to solve equations.
4.3. Exercises The exercises are well-tiered. They range from routine drills designed to reinforce definitions to more complex problems requiring multi-step proofs. The text includes a healthy number of applied problems relevant to computer science, helping students see the utility of the abstract theory.
Let’s address the elephant in the room: Olympia Nicodemi’s exercises are hard. They are not the "Find the next three terms in the sequence" type. A typical Nicodemi exercise might read:
"Given the recursive definition of the Fibonacci numbers, prove that the sum of any ten consecutive Fibonacci numbers is divisible by 11. Is this true for every integer divisor? Explain."
These questions require not just computation, but exploration. Many exercises have no single correct answer; they ask for conjectures, counterexamples, or generalizations. This is infuriating for students who want a quick answer key, but it is transformative for students who want to think like mathematicians.