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, pre-calculus 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
-
Pre-calculus - 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)