Here is a much better set of textbooks (I own the series recommended in the parent comment and what I recommend here, having learned about both from homeschooling communities when my oldest son was little):
http://www.singaporemath.com/Primary_Mathematics_Stds_Ed_s/1...
Part of my rationale for recommending the Singapore Primary Mathematics series comes from studies of mathematics curricula by mathematicians who think deeply about pedagogy:
http://math.berkeley.edu/~wu/Lisbon2010_4.pdf
http://www.math.wisc.edu/~askey/ask-gian.pdf
http://mathexperts-qa.blogspot.com/2011/04/math-experts-q-wi...
http://mathexperts-qa.blogspot.com/2011/04/math-experts-q-wi...
http://www-users.math.umd.edu/~jnd/Singapore.Math.htm
http://www.worcester.edu/SMIP/Shared%20Documents/PDFsPowerpo...
I also recommend the Singapore Primary Mathematics series materials, which I have used with all four of my children, because they are known to produce good results. Chapter 1: "International Student Achievement in Mathematics" from the TIMSS 2007 study of mathematics achievement in many different countries includes, in Exhibit 1.1 (pages 34 and 35)
http://timss.bc.edu/PDF/t03_download/T03_M_Chap1.pdf
a chart of mathematics achievement levels in various countries. Although the United States is above the international average score among the countries surveyed, as we would expect from the level of economic development in the United States, the United States is well below the top country listed, which is Singapore. An average United States student is at the bottom quartile level for Singapore, or from another point of view, a top quartile student in the United States is only at the level of an average student in Singapore. I've been curious about mathematics education in Singapore ever since I heard of these results from an earlier TIMSS sample in the 1990s.
After edit: The results of using the Singapore Mathematics materials with our oldest son have been gratifying. He was ready to test into our local state university's accelerated mathematics program by fifth-grade age, so by sixth-grade age he was doing the usual high school mathematics curriculum at double speed (and greater depth) and thus ready for that program's calculus course by eighth-grade age. Moving along steadily in math with good conceptual understanding helped him learn Logo, C, Java, Scheme, and Javascript programming through formal courses while still of high school age, and to self-study Python, Ruby, Haskell, and various other programming and scripting languages. He entered his university course (computer science) with as many accumulated "college credits" as most college students have when they graduate, and is enjoying taking upper-division computer science courses while coding for GitHub projects and planning a start-up. Doing elementary math courses that involve lots of problem-solving gets a learner ready for the problem-solving inherent in programming.