These counterexamples are sometimes a bit involved, but I find they are often useful for understanding the purpose of the technical assumptions that accompany many theorems.
The way the lower level courses are taught IS similar to high school math. Low level calculus in my undergrad institution is almost the same as AP calculus in my high school. If not, then the course picked the wrong textbook.
Anything above calculus, it is fair for textbook writers to assume mathematical maturity.
"How do students going from school to university cope? is there some secret occult ritual where all this knowledge is transmitted?"
To be able to self-teach mathematics, one would have to learn w/e mathematicians do by oneself. This is however, not impossible but difficult.
Here are some disadvantages:
1. It's hard to assert one's own mathematical ability.
2. No one can give you feedback(unless, you have someone with enough mathematical maturity and also have enough time to read and correct your proofs). Programming is so much easier because you can get partial feedback from compiler/interpreter and output. In fact, anything where you can see something happens is much easier. Mathematicians need to prove what we see happen is really true and it's not a wrong intuition.
3. Math books does not try to hold hands. They leave out many details to be filled in by the reader(the notorious "The proof is left as an exercise to the reader"). Sometimes, readers without enough background could gain a wrong intuition, which will screw up everything further down. It is not easy, and it be really nice to have some professor to talk to.
Now, about this "secret occult ritual". It is basically the undergraduate mathematics scene beginning at the first introductory proof class. (depend on departments, this might be as late as the beginning of the 3rd year of study)
In UIUC, there is MATH 347.
In Stony Brook there is MAT 200. Around 2/3 of the students have to retake it. Imaging this. This is a set of math majors learning these things full time, with study groups, WITH FEEDBACK and 2/3 of the students didn't get C. It's not a inherently easy thing to learn. The entire class to teach people to fight one's own intuition and mental short cuts we humans make everyday.
Once this is done, the students can further take a higher level topic(a intro to analysis or abstract algebra) to get a feel of how to apply these techniques in the intro proof class. It's a long process and there is no easy way. See this book, Counterexamples in analysis. http://www.amazon.com/Counterexamples-Analysis-Dover-Books-M... Half of the things I would believe to be true from intuitive argument turns out to be completely wrong.
Finally, one might question why one have to become a half mathematician in order to use some of the tools in mathematics. Because most math books are written for people with enough mathematical maturity that can only be gained from grinding over mathematics, and without enough maturity it doesn't make sense to learn certain things anyway.
Get dozens of book recommendations delivered straight to your inbox every Thursday.