Math for computer science roadmap
Tags: computerscience, math, programming, tutorial
Published: 2023-10-30 13:19:26


**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](https://navigolearn.com/roadmap/math-for-computer-science-33) I have created. I also left the resources from this roadmap below

&#x200B;

**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*](https://github.com/NavigoLearn) 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.

&#x200B;

**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](https://github.com/NavigoLearn/RoadmapsMarkdown). 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

* [College math for computer science playlist](https://www.youtube.com/watch?v=L3LMbpZIKhQ)
* [MIT free course math for CS](https://openlearninglibrary.mit.edu/courses/course-v1:OCW+6.042J+2T2019/course/)

## Is math important for CS?

* [Do you need math for software engineering](https://www.youtube.com/watch?v=eSM1JATtGEg)
* [Truth about math in programming](https://www.youtube.com/watch?v=HQHTG2fj8QQ)
* [Why you need math for programming](https://www.youtube.com/watch?v=sW9npZVpiMI)

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**
   * [Arithmetic course](https://www.youtube.com/watch?v=-2kZNL0uTXY)
   * [Khan academy arithmetic](https://www.khanacademy.org/math/arithmetic)
* **Basic geometry**
   * [Khan academy geometry](https://www.khanacademy.org/math/basic-geo)
* **Basic algebra**
   * [Algebra for beginners](https://www.youtube.com/watch?v=MHeirBPOI6w)
   * [Khan academy algebra basics](https://www.khanacademy.org/math/algebra-basics)
* **Basic Trigonometry**
   * [Khan academy trigonometry](https://www.khanacademy.org/math/trigonometry)
* **Basic probability and statistics**
   * [Khan academy High school probability](https://www.khanacademy.org/math/probability)

## 2. More mathematical background

* **Algebra II**
   * [Khan academy algebra 2 course](https://www.khanacademy.org/math/algebra2)
* **Pre-calculus** \- [Precalculus khan academy](https://www.khanacademy.org/math/precalculus) \- [Precalculus organic chemistry teacher](https://www.youtube.com/playlist?list=PL0o_zxa4K1BU5sTWZ2YxFhpXwsnMfMke7)
   * Composite and inverse functions
      * [Introduction to inverse functions](https://www.youtube.com/watch?v=TN4ybFiuV3k)
      * [Composite functions](https://www.youtube.com/watch?v=ZFPkQkURSxk)
      * [Composite and Inverse Functions](https://www.youtube.com/watch?v=GEgFmxxOJno)
   * Vectors
      * [Vectors by 3blue1brown](https://www.youtube.com/watch?v=fNk_zzaMoSs)
   * Matrices
      * [Matrices explained playlist](https://www.youtube.com/watch?v=0oGJTQCy4cQ&list=PLi5giWKc4eO1G8oX3ft8ZuLQr4Y4idgng)
   * Limits and continuity
      * [Limitis and continuit explained](https://www.youtube.com/watch?v=9brk313DjV8)

## 3. Essential CS Math Concepts

* **1. Introduction to proofs** \- [Introduction to proofs MIT](https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLKUeOXz8J87QwqrZmYONUeW56iyzLcP8D) \- [Proofs explained playlist](https://www.youtube.com/watch?v=IdTaA6iz3Mo&list=PL5KkMZvBpo5CnkA4bi7l6W62VPoYRbOEk)
   * **Induction**
      * [Induction explained MIT](https://www.youtube.com/watch?v=z8HKWUWS-lA&t=1s)
* **2. Discrete Mathematics**
   * **Set theory** \-  [Sets basics explained](https://www.youtube.com/watch?v=5ZhNmKb-dqk) \-  [Sets lecture by MIT](https://www.youtube.com/watch?v=LY7YmuDbuW0) \-  [Infinite sets](https://www.youtube.com/watch?v=t1qt2dNJkhc) \- [Set operations](https://www.youtube.com/watch?v=n1o31qhSw2s&list=PLo9aEQoCyz43DFSe1YIpoLMexuufQR9CK&index=2)
   * **Sequences**
      * [Arithmetics and geometric sequences](https://www.youtube.com/watch?v=XZJdyPkCxuE)
   * **More on Sums**
      * [Sums formulas and notations](https://www.youtube.com/watch?v=XJkIaw2e1Pw)
* **3.A Graph theory**
   * [Bridges of konigsberg problem](https://www.youtube.com/watch?v=nZwSo4vfw6c)
   * [Graph theory courses MIT](https://www.youtube.com/watch?v=h9wxtqoa1jY&list=PL6MpDZWD2gTF3mz26HSufmsIO-COKKb5j)
   * [Graph theory playlist](https://www.youtube.com/watch?v=DgXR2OWQnLc&list=PLDV1Zeh2NRsDGO4--qE8yH72HFL1Km93P)
   * [Another alternative playlist](https://www.youtube.com/playlist?list=PLOROtRhtegr6eSjw4_iRCjgQSYS8fpJM3)
   * [Introduction to graph theory](https://www.youtube.com/watch?v=LFKZLXVO-Dg)
   * **Trees**
      * [Trees introduction](https://www.youtube.com/watch?v=K-JdHRwIbig&list=PLOROtRhtegr6eSjw4_iRCjgQSYS8fpJM3&index=15)
      * [Decision trees](https://www.youtube.com/watch?v=ZVR2Way4nwQ)
      * [Binary trees](https://www.youtube.com/watch?v=GzJoqJO1zdI)
* **3.B Automata theory** \-	[Theory of computation and automata theory](https://www.youtube.com/watch?v=58N2N7zJGrQ&list=PLBlnK6fEyqRgp46KUv4ZY69yXmpwKOIev&index=1)
   * **Binary system**
      * [Why computers use binary](https://www.youtube.com/watch?v=Xpk67YzOn5w)
      * [Binary in 100 seconds](https://www.youtube.com/watch?v=zDNaUi2cjv4)
      * [Number systems](https://www.youtube.com/watch?v=FFDMzbrEXaE)
      * [Representing numbers in binary](https://www.youtube.com/watch?v=1GSjbWt0c9M)
      * [Operations in binary system](https://www.youtube.com/watch?v=C5EkxfNEMjE)
   * **Boolean algebra**
      * [Introduction to boolean algebra part1](https://www.youtube.com/watch?v=WW-NPtIzHwk)
      * [Introduction to boolean algebra part2](https://www.youtube.com/watch?v=OjWmVCG8PLA)
   * **State machines**
      * [Turing machine explained](https://www.youtube.com/watch?v=dNRDvLACg5Q)
      * [State machines explained](https://www.youtube.com/watch?v=Qa6csfkK7_I)
   * [**Markov chains basics**](https://www.youtube.com/watch?v=i3AkTO9HLXo)
* **3.C Algorithm analysis**
   * **Logarithmic & Exponential functions**
      * [Introduction to logarithms 1/2](https://www.youtube.com/watch?v=ntBWrcbAhaY)
      * [Introduction to logarithm 2/2](https://www.youtube.com/watch?v=MEAwyRUsX2o)
      * [Introduction to exponential functions](https://www.youtube.com/watch?v=6WMZ7J0wwMI)
      * [Logarithmic time complexity explained](https://www.youtube.com/watch?v=M4ubFru2O80)
   * **Complexity analysis** \- [Introduction to O notation and time complexity](https://www.youtube.com/watch?v=D6xkbGLQesk)
      * **Big O notation**
      * **Principles of algorithm design**
      * **Data structures and Algorithms roadmap**
* [**3.C.B Algorithms course**](https://www.youtube.com/playlist?list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)

## 4. More Important math concepts

* **Calculus I** \-  [Essence of calculus playlist](https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PL0-GT3co4r2wlh6UHTUeQsrf3mlS2lk6x) \- [Calculus playlist khan academy](https://www.youtube.com/watch?v=EKvHQc3QEow&list=PL19E79A0638C8D449) \- [Calculus khan academy course](https://www.khanacademy.org/math/calculus-1)
   * Limits and continuity
      * [Limits and continuity explained](https://www.youtube.com/watch?v=riXcZT2ICjA)
   * Derivatives
      * [Derivatives explained 3blue1brown](https://www.youtube.com/watch?v=S0_qX4VJhMQ)
   * Integrals
      * [Integrals explained](https://www.youtube.com/watch?v=rfG8ce4nNh0&list=PL0-GT3co4r2wlh6UHTUeQsrf3mlS2lk6x&index=8)
   * Differential equations
      * [Differential equations explained](https://www.youtube.com/watch?v=p_di4Zn4wz4)
* **Linear Algebra** \- [Linear algebra course 3blue1brown](https://www.youtube.com/watch?v=kjBOesZCoqc&list=PL0-GT3co4r2y2YErbmuJw2L5tW4Ew2O5B) \- [Linear algebra playlist](https://www.youtube.com/watch?v=xyAuNHPsq-g&list=PLFD0EB975BA0CC1E0) \- [Linear algebra khan academy](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces)
   * Vector spaces
      * [Vector spaces explained](https://www.youtube.com/watch?v=EP2ghkO0lSk)
   * Linear transformations
      * [Linear transformations](https://www.youtube.com/watch?v=kYB8IZa5AuE&list=PL0-GT3co4r2y2YErbmuJw2L5tW4Ew2O5B&index=5)
   * [Determinants](https://www.youtube.com/watch?v=Ip3X9LOh2dk&list=PL0-GT3co4r2y2YErbmuJw2L5tW4Ew2O5B&index=7)
   * Eigen vectors and eigen values
      * [Eigen vectors and values explained by fireship](https://www.youtube.com/watch?v=PFDu9oVAE-g)
* **Probability and Statistics** \- [Essence of probability 3blue1brown](https://www.youtube.com/watch?v=HZGCoVF3YvM&list=PLiAulSm0XXgvCGe63mrAkda9UQ9478YQv) \- [Statistics playlist](https://www.youtube.com/watch?v=sxQaBpKfDRk&list=PL8dPuuaLjXtNM_Y-bUAhblSAdWRnmBUcr&index=2) \- [Statistics playlist khan academy](https://www.youtube.com/watch?v=uhxtUt_-GyM&list=PL1328115D3D8A2566) \- [Probability playlist khan academy](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
   * Random variables
      * [Random variables explained](https://www.youtube.com/watch?v=3v9w79NhsfI&list=PLU5aQXLWR3_xDN0M2ZeZ_zHIia0e42_3O) \- Expectation and variance
      * [Expectation and variance of random variables](https://www.youtube.com/watch?v=OvTEhNL96v0)
   * Conditional probability
      * [Conditional probability explained](https://www.youtube.com/watch?v=_IgyaD7vOOA)
      * [Calculating conditional probability](https://www.youtube.com/watch?v=6xPkG2pA-TU)
   * Bayes theorem
      * [Intuitive explanation by 3blue1brown](https://www.youtube.com/watch?v=HZGCoVF3YvM&list=PLiAulSm0XXgvCGe63mrAkda9UQ9478YQv)
   * Distributions
      * [Evaluate online products with binomial distribution](https://www.youtube.com/watch?v=8idr1WZ1A7Q&list=PLiAulSm0XXgvCGe63mrAkda9UQ9478YQv&index=4)
      * [How to learn about distributions](https://www.youtube.com/watch?v=mBCiKUzwdMs)
* **Cryptography**
   * [Mathematics of cryptography](https://www.youtube.com/watch?v=uNzaMrcuTM0)
   * [Khan academy cryptography course](https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/intro-to-cryptography)
   * Ancient cryptography
      * [Caesar cryptography](https://www.youtube.com/watch?v=sMOZf4GN3oc)
      * [One time pad explained](https://www.youtube.com/watch?v=FlIG3TvQCBQ)
   * [WW2 engima machine](https://www.youtube.com/watch?v=-1ZFVwMXSXY)
   * [Modern cryptography playlist](https://www.youtube.com/watch?v=8CluknrLeys&list=PLP6PHJ8SLR6AA93UEXGaDFUDc8paCCsiD)

## 5. Optional Advanced math concepts

* **Calculus II**
   * [Integrals explained](https://www.youtube.com/watch?v=rfG8ce4nNh0&list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr&index=9)
   * [What area has to do with slope?](https://www.youtube.com/watch?v=FnJqaIESC2s&list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr&index=10)
   * [Differential equations](https://www.youtube.com/watch?v=p_di4Zn4wz4)
* **Multivariable calculus**
   * [Khan academy multivariable calculus](https://www.khanacademy.org/math/multivariable-calculus)
   * [Multivariable calculus playlist khan academy](https://www.youtube.com/watch?v=TrcCbdWwCBc&list=PLSQl0a2vh4HC5feHa6Rc5c0wbRTx56nF7)
* **Complex analysis**
   * [Complex analysis course](https://www.youtube.com/watch?v=dEu5ie25U0Y&list=PLBh2i93oe2qtIc75sLYaVEBt0QNqVbdmZ)
* **Numerical analysis**
   * [Numerical analysis playlist](https://www.youtube.com/watch?v=IOR31yN43Kg&list=PLDea8VeK4MUTOBXLpvx_WKtVrMkojEh52)

## 6. Niche specific mathematics

* Machine learning.
   * [Statistics](https://www.youtube.com/watch?v=uhxtUt_-GyM&list=PL1328115D3D8A2566)
   * [Probability](https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19)
   * [Calculus](https://www.youtube.com/watch?v=EKvHQc3QEow&list=PL19E79A0638C8D449)
   * [Linear algebra](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)
* Systems programming
   * [Signal processing](https://www.youtube.com/watch?v=hewTwm5P0Gg)
   * [Automata theory](https://www.youtube.com/watch?v=58N2N7zJGrQ&list=PLBlnK6fEyqRgp46KUv4ZY69yXmpwKOIev)
   * [Cryptography](https://www.youtube.com/watch?v=JoeiLuFNBc4&list=PLBlnK6fEyqRgJU3EsOYDTW7m6SUmW6kII)
* Game development
   * [Math for game developers](https://www.youtube.com/watch?v=sKCF8A3XGxQ&list=PLW3Zl3wyJwWOpdhYedlD-yCB7WQoHf-My)
* Computer graphics
   * [Mathematics for computer graphics](https://www.youtube.com/watch?v=YwzaFSszSPc&list=PLtuv65ivttlzWM0b2AYzHcbTseqKlrh58)
* Computational Biology
   * [Computational biology course](https://www.youtube.com/watch?v=lJzybEXmIj0&list=PLUl4u3cNGP63uK-oWiLgO7LLJV6ZCWXac&index=1)
* Quantum Computing
   * [How much math you need for quantum computing](https://www.youtube.com/watch?v=_v1_mlzyxs0)
   * [Intro to quantum computing](https://www.youtube.com/watch?v=rT40sxiqHJQ&list=PLMnoxczUtKqWpKZTwpRBHrif_y-xENTfx)
   * [Linear algebra](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)
   * [Complex numbers](https://www.youtube.com/watch?v=ysVcAYo7UPI&list=PLXSlB4yMaoJtM2gG5Mas5mMjwX_B51vsB)