I did very poorly in math throughout high school (and mediocre in college). I still am not that great, but I feel I have a far deeper understanding than your average college or high school "A" student. It has nothing to do with how smart I am. It has everything to do with the fact that I have been using math in "real world" (ok, virtual world) problems for the last decade.
You absolutely cannot "teach" math (beyond the elementary level) and expect students to fully understand how it works. Memorizing equations is not understanding.
You must learn math, the hard way. Give a student a relevant problem, and tell them to solve it. Don't tell them how to solve it, let them derive the solution on their own. It might take weeks in some cases, but I guarantee they will have a much better understanding and increase their general problem-solving ability in all of mathematics.
You absolutely cannot "teach" math (beyond the elementary level) and expect students to fully understand how it works. Memorizing equations is not understanding.
You must learn math, the hard way. Give a student a relevant problem, and tell them to solve it. Don't tell them how to solve it, let them derive the solution on their own. It might take weeks in some cases, but I guarantee they will have a much better understanding and increase their general problem-solving ability in all of mathematics.