These are good recommendations, but I think beginners tend to burn out due to the lack of a structured program and/or exercise solutions if they are trying to study on their own. The simplest structured program I can think of that satisfies both is:
* Basic Mathematics by Lang. Covers basic algebra and geometry at high school level.
Then one of these two, depending on your interests, or both:
* Vector Calculus, Linear Algebra and Differential Forms by Hubbard and Hubbard. Takes you through linear algebra, single-variable calculus and multiple variable calculus. Analysis is discussed in an appendix. All proofs have a constructive bias, so it's very algorithmic and natural for a CS-minded student. Solutions are in a separate volume.
* Basic Mathematics by Lang. Covers basic algebra and geometry at high school level.
Then one of these two, depending on your interests, or both:
* Vector Calculus, Linear Algebra and Differential Forms by Hubbard and Hubbard. Takes you through linear algebra, single-variable calculus and multiple variable calculus. Analysis is discussed in an appendix. All proofs have a constructive bias, so it's very algorithmic and natural for a CS-minded student. Solutions are in a separate volume.
* Program = Proof by Mimram. Discusses logic and computation, and takes you from the basics to depedent type theory and beyond. Uses OCaml and Agda. Freely available at: https://www.lix.polytechnique.fr/Labo/Samuel.Mimram/teaching...