How to fill gaps in my math knowledge? Just finishing highschool, even though I am doing "well" (in the context of the math course itself), I have significant holes in my actual math knowledge.
As I think many people who explore math outside the typical walls of highschool will realize, the math in high school is often very selective, taught with shallow depth. Most questions are looking for simple cookie cutter solutions, explained in easy to understand language.
In my spare time, I have been attempting to patch holes in my math knowledge by looking through various text's attempting problems and reading the material. I find however, often in word problems from alternate sources other than school curriculum, that I struggle on questions usually due to wording and abstraction. I do realize completely though that this is all part of math and being able to read abstraction is the name of the game.
What is the best way to prepare myself for the transition of H.S. Math to undergraduate math? I have often heard horror stories of people being shocked by the difference between H.S. and University and stating that "H.S. never prepared them for that".
However, as I enjoy math and intend to do something math intensive in the future, possibly CS, Engineering or Math, I would really like to be as well prepared as possible. 
I am mainly looking to understand wording, proofs, terminology and being able to apply my algebra knowledge to word problems.
Currently started "Serge Lang - Basic Mathematics". Has lot's of content and questions but I struggle with wording frequently, this is one of the first "real" math textbooks I have read and though the math itself isn't difficult I get caught understanding the wording. 
Also interested in other book suggestions. 


*

*Thanks!

 A: You want to look at one or both of the following, excellent, resources:


*

*Thinking Mathematically: By Mason, Burton, and Stacey. This will help tremendously with being able to approach problem statements "mathematically", for example, how to deal with, think about, or read, mathematically, "word problems", and problem statements, break them down, approach them, and solve them.

*How to Prove it: A Structured Approach: by Daniel Velleman. Excellent survey of logic, proof strategies, and proof-writing, with many hands-on examples and practice problems to develop these skills.


Both will be excellent preparation for and throughout college. 
ADDED: 


*

*Another "classic" is Polya's book How to Solve it. It's a gem for better understanding and developing the skills and strategies needed when in problem-solving. 


Also, for practical purposes: you might want to take a look at Paul's Online Notes, for some pre-college and "undergraduate level" lecture notes and coursework, compiled and maintained by Paul Dawkins, from years of college teaching at Lamar University. 
A: I recommend to try Coursera course "Calculus - Single Variable" by Robert Ghrist. I have just finished this course. He is starting it again in May. 
A: I think the lecture notes by William Chen are good introductory material. The Trillia Group has decent textbooks, free for personal use. 
For "understanding" highschool math better, look around for the materials used in preparing for maths olympiads (hard problems in that general area).
If you want some historical perspective, the books by William Dunham ("The Mathematical Universe" and several others) are a delight to read. Paul 
Nahin's "An imaginary tale -- The story of $\sqrt{-1}$" is a nice read too.
But as in anything, I've learned the hard way that to study something "because I might need it later" is a waste of time: You might never get to use it, the use could be so far in the future that by when you need it you already forgot, or just things have changed so much (new techniques, outlook, your own knowledge) that what you learnt isn't right/useful/the best way anymore. And studying something without a clear, nearby use is rather uninspiring.
