What is this?
Hello all. In the past few weeks or so I've tried compiling this roadmap for anyone who tries to learn math specifically for computer science. I've never been able to find a good resource on this topic. In here you will find explanations for why those math topics were chosen, how they relate to computer science and what are the best resources to learn that topic from. I tried to make it be accessible both for beginners and people who want depth of knowledge. Feel free to leave comments and critique on how to improve it.
This is the math for computer science roadmap I have created. I also left the resources from this roadmap below
Why?
We want to build a STEM community, dedicated to bringing resources and creating roadmaps in one place that can help everyone to learn. This is an open source project for anyone who either wants to learn from roadmaps or build/contribute to roadmaps on a specific topic. The roadmaps have their own rendering engine and editor being a visual representation of data. Eventually there will be a versioning system with pull requests, issues and so on like on github, but for roadmaps.
How to contribute?
Currently, the versioning system is in development, so If you want to leave, issues or request any changes, you can do so at this github repo. I will look over them and keep the roadmaps updated. Alternatively, you can dm me to join the discord server so we can have a more direct communication channel.
That being said, I will also leave here the resources from this roadmap, if you prefer the text format.
Other resources
Is math important for CS?
 Do you need math for software engineering
 Truth about math in programming
 Why you need math for programming
How to learn from this roadmap?  Mathematics can be quite a tricky thing to learn sometimes. In the context of computer science, I recommend going first of all through all the concepts and understand AT LEAST the basics of them. You can learn mathematics as you go and bump into different issues and revisit this roadmap for a refresher or to fill gaps you might have.
You will notice this roadmap has multiple main chapters that split into subchapters. I HIGHLY recommend going through the full courses that are linked in many of the main chapters if you want to truly understand that concept, as they cover more than the specific nodes that split from them.
Prerequisites
 Ideally you should already be familiar with the foundations, precalculus and algebra II parts. The math for computer science consists of many college level topics whose roots are in these foundations. That being said, you can learn everything in this roadmap even if you know only 8th grade mathematics. If go through all the resources and complete the courses you should be able to complete it without many issues, albeit harder.
1. Foundations
 Arithmetic
 Basic geometry
 Basic algebra
 Basic Trigonometry
 Basic probability and statistics
2. More mathematical background
 Algebra II

Precalculus  Precalculus khan academy  Precalculus organic chemistry teacher
 Composite and inverse functions
 Vectors
 Matrices
 Limits and continuity
3. Essential CS Math Concepts

1. Introduction to proofs  Introduction to proofs MIT  Proofs explained playlist
 Induction

2. Discrete Mathematics
 Set theory  Sets basics explained  Sets lecture by MIT  Infinite sets  Set operations
 Sequences
 More on Sums
 3.A Graph theory

3.B Automata theory  Theory of computation and automata theory
 Binary system
 Boolean algebra
 State machines
 Markov chains basics

3.C Algorithm analysis
 Logarithmic & Exponential functions

Complexity analysis  Introduction to O notation and time complexity
 Big O notation
 Principles of algorithm design
 Data structures and Algorithms roadmap
 3.C.B Algorithms course
4. More Important math concepts

Calculus I  Essence of calculus playlist  Calculus playlist khan academy  Calculus khan academy course
 Limits and continuity
 Derivatives
 Integrals
 Differential equations

Linear Algebra  Linear algebra course 3blue1brown  Linear algebra playlist  Linear algebra khan academy
 Vector spaces
 Linear transformations
 Determinants
 Eigen vectors and eigen values

Probability and Statistics  Essence of probability 3blue1brown  Statistics playlist  Statistics playlist khan academy  Probability playlist khan academy
 Random variables
 Random variables explained  Expectation and variance
 Expectation and variance of random variables
 Conditional probability
 Bayes theorem
 Distributions
 Random variables
 Cryptography
5. Optional Advanced math concepts
 Calculus II
 Multivariable calculus
 Complex analysis
 Numerical analysis
6. Niche specific mathematics
 Machine learning.
 Systems programming
 Game development
 Computer graphics
 Computational Biology
 Quantum Computing
Top comments (0)