One way to do this is in a systematic way is to look at the course catalog for a university well-known in the field and check the prerequisites of the things you’d like to study.
For example:
> To learn discrete math, I need theory of computation/automata theory.
Not for undergraduate discrete math.
For example, at UC Berkeley, CS70 - “Discrete Mathematics and Probability Theory” - suggests
> Sophomore mathematical maturity, and programming experience equivalent to that gained with a score of 3 or above on the Advanced Placement Computer Science A exam.
In this context, sophomore mathematical maturity means haven taken Calc I and Calc II. Having taken Intro to Statistics is probably recommended.
Getting an AP CS score of 3 or above means the student took Intro to Computer Science in highschool and did pretty well on the US-wide standardized test for that subject.
.png)

