**1. Number Systems**

The Binary System / The Octal and Haxadecimal Systems / The Integers / The Real Numbers / Case Study: Computer Arithmetic: Binary Numbers / Case Study: Computer Arithmetic: Floating-Point Numbers / Case Study: Computer Arithmetic: Floating-Point Arithmetic / Case Study: Memory Addressing and Data Encoding

**2. Sets and Logic**

Sets and Elements / Subsets / Venn Diagrams / Intersections, Unions, and Complements / Conjunction, Disjunction, and Negation / Conditional and Biconditional Statements / Tautologies and Contradictions / Logical Implication and Decision Tables / Case Study: Searching and Sorting

**3. Combinatorics**

Mathematical Induction / Permutations / Combinations / Binomial Coefficients / Distributions / Case Study: Correctness of Algorithms / Case Study: Introduction to Algorithm Analysis

**4. Probability**

Finite Probability / Conditional Probability and Independence / Compound Experiments and Repeated Trials / Random Variables and Expected Value / Case Study: Random Numbers and Simulation

**5. Relations and Functions**

Relations / Functions / Graphs of Functions / Three Classes of Functions / Operations on Functions: Inverses / Case Study: Computer Functions / Case Study: Algorithm Analysis: Orders of Magnitude / Case Study: Cryptography

**6. Vectors and Matrices**

Matrices and Arrays / Matrix Multiplication / The Inverse of a Matrix and Determinants / Case Study: Stacks, Queues, and Deques / Case Study: Implementation and Comparison of Sorting Algorithms

**7. Boolean Algebra**

Boolean Algebras and Their Properties / Boolean Functions / Karnaugh Maps and Prime Implicants / Minimizing Boolean Functions and Expressions / Case Study: Switching Theory

**8. Graph Theory**

Graphs and Digraphs / Basic Definitions / Classes of Graphs / Matrices Associated with Graphs / Connectivity / Traversing Graphs / Case Study: Heap Sort / Case Study: The Critical Path Method