Teach your son how to:

 * "[x is just a number you don't know yet.][1]"
 * Do the same thing to both sides of the equation (but don't divide by zero)
 * [solve story problems][2]
 * use [Check-By-Substitution][3] to check his work
 * [keep track of his common mistakes][4].

Consider the *Saxon* math series.

My high school math classes were taught using traditional math textbooks.  Each year, about half of the students in each class dropped the class in the first six weeks.  So of the 100 - 200 freshmen that tried Algebra I, only about 6 - 8 completed Precalculus.  One of the big problems was that the textbook would teach each topic as a single unit, with just a few days of homework.  If a student did not understand the topic *that week*, they might never learn the topic, and would have a hard time with later topics that depended on it.

About a year after I took each class, the high school switched that class to use the *Saxon* math text.  The students' success improved dramatically -- most students were able to get the hang of each of the classes.  Eventually, there were about 30 - 50 students taking Calculus each year.  *Saxon* taught the individual topics about the same way as the traditional math textbooks.

The biggest difference was in what problems were in each night's homework.  A typical *Saxon* problem set would have 30 problems, of which only a handful were from that day's lesson.  The remaining problems were from previous days lessons.  This meant that the student would continue practicing each topic for three weeks, and have many more chances to get the hang of the topic -- and see how it related to the following topics.


  [1]: http://matheducators.stackexchange.com/questions/1834#1840
  [2]: http://matheducators.stackexchange.com/questions/4448#6097
  [3]: http://matheducators.stackexchange.com/questions/1834#1861
  [4]: http://matheducators.stackexchange.com/questions/7243#7254