[Math] What Precalculus knowledge is required before learning Discrete Math Computer Science topics

algebra-precalculuscomputer sciencediscrete mathematics

Below I've listed the chapters from a Precalculus book as well as the author recommended Computer Science chapters from a Discrete Mathematics book.

Although these chapters are from two specific books on these subjects I believe the topics are generally the same between any Precalc or Discrete Math book.

What Precalculus topics should one know before starting these Discrete Math Computer Science topics?:

Discrete Mathematics CS Chapters

1.1 Propositional Logic
1.2 Propositional Equivalences
1.3 Predicates and Quantifiers
1.4 Nested Quantifiers
1.5 Rules of Inference
1.6 Introduction to Proofs
1.7 Proof Methods and Strategy

2.1 Sets
2.2 Set Operations
2.3 Functions
2.4 Sequences and Summations

3.1 Algorithms
3.2 The Growths of Functions
3.3 Complexity of Algorithms
3.4 The Integers and Division
3.5 Primes and Greatest Common Divisors
3.6 Integers and Algorithms
3.8 Matrices

4.1 Mathematical Induction
4.2 Strong Induction and Well-Ordering
4.3 Recursive Definitions and Structural Induction
4.4 Recursive Algorithms
4.5 Program Correctness

5.1 The Basics of Counting
5.2 The Pigeonhole Principle
5.3 Permutations and Combinations
5.6 Generating Permutations and Combinations

6.1 An Introduction to Discrete Probability
6.4 Expected Value and Variance

7.1 Recurrence Relations
7.3 Divide-and-Conquer Algorithms and Recurrence Relations
7.5 Inclusion-Exclusion

8.1 Relations and Their Properties
8.2 n-ary Relations and Their Applications
8.3 Representing Relations
8.5 Equivalence Relations

9.1 Graphs and Graph Models
9.2 Graph Terminology and Special Types of Graphs
9.3 Representing Graphs and Graph Isomorphism
9.4 Connectivity
9.5 Euler and Hamilton Ptahs

10.1 Introduction to Trees
10.2 Application of Trees
10.3 Tree Traversal

11.1 Boolean Functions
11.2 Representing Boolean Functions
11.3 Logic Gates
11.4 Minimization of Circuits

12.1 Language and Grammars
12.2 Finite-State Machines with Output
12.3 Finite-State Machines with No Output
12.4 Language Recognition
12.5 Turing Machines

Precalculus

R.1 The Real-Number System
R.2 Integer Exponents, Scientific Notation, and Order of Operations
R.3 Addition, Subtraction, and Multiplication of Polynomials
R.4 Factoring
R.5 Rational Expressions
R.6 Radical Notation and Rational Exponents
R.7 The Basics of Equation Solving

1.1 Functions, Graphs, Graphers
1.2 Linear Functions, Slope, and Applications
1.3 Modeling: Data Analysis, Curve Fitting, and Linear Regression
1.4 More on Functions
1.5 Symmetry and Transformations
1.6 Variation and Applications
1.7 Distance, Midpoints, and Circles

2.1 Zeros of Linear Functions and Models
2.2 The Complex Numbers
2.3 Zeros of Quadratic Functions and Models
2.4 Analyzing Graphs of Quadratic Functions
2.5 Modeling: Data Analysis, Curve Fitting, and Quadratic Regression
2.6 Zeros and More Equation Solving
2.7 Solving Inequalities

3.1 Polynomial Functions and Modeling
3.2 Polynomial Division; The Remainder and Factor Theorems
3.3 Theorems about Zeros of Polynomial Funtions
3.4 Rational Functions
3.5 Polynomial and Rational Inequalities

4.1 Composite and Inverse Functions
4.2 Exponential Functions and Graphs
4.3 Logarithmic Functions and Graphs
4.4 Properties of Logarithmic Functions
4.5 Solving Exponential and Logarithmic Equations
4.6 Applications and Models: Growth and Decay

5.1 Systems of Equations in Two Variables
5.2 System of Equations in Three Variables
5.3 Matrices and Systems of Equations
5.4 Matrix Operations
5.5 Inverses of Matrices
5.6 System of Inequalities and Linear Programming
5.7 Partial Fractions

6.1 The Parabola
6.2 The Circle and Ellipse
6.3 The Hyperbola
6.4 Nonlinear Systems of Equations

7.1 Sequences and Series
7.2 Arithmetic Sequences and Series
7.3 Geometric Sequences and Series
7.4 Mathematical Induction
7.5 Combinatorics: Permutations
7.6 Combinatorics: Combinations
7.7 The Binomial Theorem
7.8 Probability

Best Answer

The "precalculus" topics are probably not hard prerequisites to the "discrete mathematics" book -- it looks like one that starts from square one and doesn't assume much beyond elementary arithmetic. But most of them are part of what one would generally assume as "mathematical literacy" in science and engineering.

Therefore, more advanced computer science text will often assume that you're already familiar with the notations and ways of computation presented in "precalculus" whenever they happen to be relevant for a CS problem. If your goal is just CS, you can probably get away with not remembering any proofs from the precalculus stuff, but many of the methods may be needed sporadically.

So sooner or later you will have to learn enough of it that you can skim that table of contents and think "I know all that, so I don't have to read the book". But there's no reason to insist of getting it before you dig into the discrete mathematics.