Skip to content
Alaharon123 edited this page Mar 7, 2020 · 13 revisions

Foundations

This section is for housing material that is prerequisite to taking certain courses in computer science. The material does not directly fall into the computer science field, and you should utilize it only as needed based on your level and background.

K-8 Math

Prerequisites

  • None

Resources

Format Resource Use cases
course Khan Academy Math K-8 learn

Needed by

  • High School Math

High School Math

Prerequisites

  • K-8 Math

Resources

Format Resources Use cases
course Khan Academy: High school math (all sections) learn
course ASU College Algebra and Problem Solving practice review
course ASU Precalculus practice review
forum /r/learnmath help

Needed by

  • Single-variable Calculus
  • Linear Algebra (Beginner track)

Single-variable Calculus

The best online courses for this subject are MIT Calculus 1A through 1C. If you prefer an interactive textbook format, Ximera Calculus 1-2 is the most comprehensive.

Calculus Made Easy is strongly recommended as the first resource for those who find the subject intimidating, but it is neither interactive nor comprehensive.

AP Calculus AB should correspond to Calculus 1A and 1B. AP Calculus BC should correspond to Calculus 1C. If you took these courses recently in high school, we recommend using Expii Calculus 1 to test yourself and see if you need more review. If you never took those courses or it's been a long time, we suggest diving straight into MIT Calculus 1A through 1C.

Prerequisites

  • High School Math

Resources

Format Resource Use cases Length
text Calculus Made Easy (Silvanus P. Thompson) learn 292 pages
interactive text Ximera Mooculus Calculus 1 learn
interactive text Ximera Mooculus Calculus 2 learn
course MIT Calculus 1A: Differentiation learn 130 hours
course MIT Calculus 1B: Integration learn 130 hours
course MIT Calculus 1C: Coordinate Systems & Infinite Series learn 130 hours
interactive text Expii Calculus 1 practice review
forum /r/learnmath help

Needed by

  • Core Math

Multivariable Calculus

The recommended resource here is MIT Multivariable Calculus along with the Strang textbook Calculus.

An alternative for those seeking a purely text-based approach is to follow the Ximera Calculus 3 interactive textbook.

Prerequisites

  • Single-variable Calculus

Resources

Format Resource Use cases Length
interactive text Ximera Mooculus Calculus 3 learn
text Calculus (Gilbert Strang) learn
course MIT Multivariable Calculus learn 156 hours
course Khan Academy Multivariable Calculus practice review
forum /r/learnmath help

Needed by

  • Probability
  • Linear Algebra (Advanced track)

Linear Algebra

Those who are brand new to linear algebra and who only have a background in high school math or single-variable calculus should take the Beginner track. Note that the textbook by Boyd and Vandenberghe does not contain all the topics of a full course on linear algebra, so if you choose to learn linear algebra exclusively by textbook you may need to transition to another resource later, such as Jim Hefferson's textbook from the Advanced track. However, as not all of linear algebra is necessarily used in every course, a more pragmatic approach to this problem might be to attempt taking the course that requires linear algebra and seeing what topics you are actually missing for understanding the course content, and then selectively learning those topics as needed.

If your math background is already very strong (i.e. through multivariable calculus), or you have some experience in linear algebra, you may find the Beginner track too slow or easy. In this case you could consider the Advanced track, which consists of Gilbert Strang's materials (e.g., MIT Linear Algebra). However, Strang's textbook is not available for free and his course requires you have access to MATLAB. If you do not wish to buy Strang's textbook, you could try using Hefferson's free textbook. And it may be possible to use GNU Octave instead of MATLAB, but we have not tested this option.

Gilbert Strang's material on linear algebra is perhaps the very best on this topic, so if you are planning to study advanced topics in linear algebra, you may want to look at Advanced after Beginner.

If you have already studied linear algebra but it's been a long time, the Advanced track contains a review/reference text. Go through the text and confirm that you are familiar with everything on there. Whenever you find you have forgotten something, go through Strang's online course to find that material and review it.

Beginner track

Prerequisites

  • High School Math

Resources

Format Resource Use cases Length
video Essence of Linear Algebra prepare
course UT Linear Algebra: Foundations to Frontiers learn 120 hours
text Applied Linear Algebra (Stephen Boyd and Lieven Vandenberghe) learn 473 pages
forum /r/learnmath help

Advanced track

Prerequisites

  • Multivariable Calculus
  • MATLAB license

Resources

Format Resource Use cases Length
course MIT Linear Algebra learn 130 hours
book Introduction to Linear Algebra (Gilbert Strang) learn 584 pages
book Linear Algebra (Jim Hefferson) learn 507 pages
text "Linear Algebra Review and Reference" review 26 pages
forum /r/learnmath help

Needed by

  • Machine Learning
  • Cryptography
  • Graphics
  • Robotics

Probability

The MIT Probability course is much more in-depth than one would need for much of computer science, but it would be critical for those who are going into data science.

Our discrete mathematics materials will also teach some probability, which may be sufficient for some computer science students; however, it might be necessary to supplement knowledge of discrete probability using some of the other resources here.

Prerequisites

  • Multivariable Calculus

Resources

Format Resource Use cases Length
text Grinstead and Snell’s Introduction to Probability learn 518 pages
course MIT Introduction to Probability: The Science of Uncertainty learn 216 hours
course Khan Academy Statistics & Probability practice review
forum /r/learnmath help

Needed by

  • Core Distributed Systems
  • Machine Learning (TODO)

Physics

The first course is a very popular introduction to physics that you can take to get you interested in the topic, but it is optional.

Prerequisites

  • Single-variable calculus

Resources

Format Resource Use cases Length
course UVA How Things Work: An Introduction to Physics prepare inspiration 17 hours
course Rice Mechanics, Part 1 learn 36 hours
course Rice Mechanics, Part 2 learn 36 hours
interactive text Expii Mechanics practice review
course Rice Electricity and Magnetism, Part 1 learn 70 hours
course Rice Electricity and Magnetism, Part 2 learn 70 hours
interactive text Expii Electricity, Magnetism, Optics practice review

Needed by

  • Advanced Computing Systems