Assume someone has very limited knowledge of math: low level high school, 5-6 years ago. How would they learn from the basics of algebra, geometry and trigonometry to a solid foundation for calculus and beyond? I would like to relearn math and go to university for computer science.

I am looking for book recommendations, math learning strategies (how to comprehend math texts), and a brief explanation as to how one knows when they are ready to learn calculus.

Some books' prose is quite overwhelming. How can I better understand?

How essential is geometry for calculus? What about for further math such as linear algebra, discrete math or differential equations?

How can I make sure that what I am reading/learning will stick? How can I maximize comprehension of a textbook and rule /definitions? Is notetaking out of a textbook effective?

Is it essential to master high-school math before attempting calculus or can holes be patched in the process of learning calculus?

I am not simply looking for youtube videos, though they are useful I want more substance than simply being spoon-fed.

  • $\begingroup$ Could you describe in a bit more detail what maths you've done? Also, probably the most obvious stratergy to learn maths is simply to do maths - for textbook's, this consists of reading through chapters, doing some exercises, and repeating this process (going back through chapters multiple times if need be) until you understand most of what is going on. $\endgroup$
    – Andrew D
    Commented Jun 23, 2013 at 21:52
  • $\begingroup$ I did up to grade 11 but it was also considered the "applied" track. This was about 5+ years ago. $\endgroup$
    – Joe B
    Commented Jun 23, 2013 at 21:58
  • 8
    $\begingroup$ I've gone through what you're doing right now, I've managed to learn quite a bit on my own so far. If theres one tip I could give you about reading math books, it would be: read actively. A lot of people seem to think reading mathematics is like reading a novel. This is not the case. Try to do every example before it is explained, read and reread until you understand. Sometimes you will have to read the same thing many times, but don't get discouraged! Good luck! $\endgroup$
    – stochasm
    Commented Jun 23, 2013 at 22:01
  • $\begingroup$ @stochasm Wise words. $\endgroup$
    – Git Gud
    Commented Jun 23, 2013 at 22:11
  • 1
    $\begingroup$ @JoeB After you're done with high school math, before college math, read this book religiously: How to Prove It: A Structured Approach, by D.J. Velleman. Good luck. $\endgroup$
    – Git Gud
    Commented Jun 23, 2013 at 22:13

2 Answers 2


I would say that you want to focus on what brings you success in your goals for getting a computer science degree.

If you look at a CS program, there are some commonalities, but also differences in how much math they want you to learn. Do you have a specific program in mind? Did you review their prerequisites and the courses you will be required to take? Are you thinking of going to graduate school too as there may be different considerations?

The typical math classes required for a CS major are (check the university/college you are thinking about and make sure you understand their requirements) as follows.

  • Discrete Math: Topics include combinatorics, number theory, and graph theory with an emphasis on creative problem solving and learning to read and write rigorous proofs.
  • Computability and Logic: An introduction to some of the mathematical foundations of computer science, particularly logic, automata, and computability theory.
  • Algorithms: Algorithm design, computer implementation, and analysis of efficiency. Discrete structures, sorting and searching, time and space complexity, and topics selected from algorithms for arithmetic circuits, sorting networks, parallel algorithms, computational geometry, parsing, and pattern-matching.
  • Mathematical Analysis I: Analysis of the real numbers, and an introduction to writing and communicating mathematics well. Topics include properties of the rational and the real number fields, the least upper bound property, induction, countable sets, metric spaces, limit points, compactness, connectedness, careful treatment of sequences and series, functions, differentiation and the mean value theorem, and an introduction to sequences of functions.
  • Numerical Analysis: An introduction to the analysis and computer implementation of basic numerical techniques. Solution of linear equations, eigenvalue problems, local and global methods for non-linear equations, interpolation, approximate integration (quadrature), and numerical solutions to ordinary differential equations.
  • Scientific Computing: Computational techniques applied to problems in the sciences and engineering. Modeling of physical problems, computer implementation, analysis of results; use of mathematical software; numerical methods chosen from: solutions of linear and nonlinear algebraic equations, solutions of ordinary and partial differential equations, finite elements, linear programming, optimization algorithms and fast-Fourier transforms.
  • Abstract Algebra I: Groups, rings, fields and additional topics. Topics in group theory include groups, subgroups, quotient groups, Lagrange's theorem, symmetry groups, and the isomorphism theorems. Topics in Ring theory include Euclidean domains, PIDs, UFDs, fields, polynomial rings, ideal theory, and the isomorphism theorems. In recent years, additional topics have included the Sylow theorems, group actions, modules, representations, and introductory category theory.

Some CS majors are doing dual CS/Math and additional math courses like Probability, Analysis, Complex Variables, Differential Equations, Partial Differential Equations may also be required.

As for books, I would recommend perusing some of the wonderful MSE responses, for example:

You mentioned this, but I think it is important. You may want to go through entire courses using opencourseware. For example, MIT. See the OCW Consortium for many more institutions. The goal of this is to gauge where you are with following lectures and testing your understanding.

So, if you look at the specific program you are interested in, I would recommend looking at the math courses in totality (including if you want graduate), checking their required books and looking to see where you stand with all of it. Recall, these programs are also heavy into programming and that is a lot of work, so make sure you are ready for both!

  • $\begingroup$ @JoeB: You are very welcome and always chase your dreams, anything worth having is worth fighting for! Regards $\endgroup$
    – Amzoti
    Commented Jun 23, 2013 at 22:59
  • $\begingroup$ Excellent references! $\endgroup$
    – amWhy
    Commented Jun 24, 2013 at 0:14
  • $\begingroup$ Question: Should I delete this answer? Either it's been overlooked or it's not worth keeping... $\endgroup$
    – amWhy
    Commented Jun 24, 2013 at 2:41

Currently relearning HS Math myself. My current reading list is:

  • Serge Lang - Basic Mathematics

  • I.M. Gelfand - Algebra

  • I.M. Gelfand - Trigonometry

  • George F. Simmons - Precalculus in a Nutshell


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .