Over the past 20 years, a great deal of cognitive science research has focused on mathematics learning. The majority of this research has examined basic capabilities such as counting, understanding of numerical magnitudes, arithmetic (both word problems and purely numerical problems), and pre-algebra. Another, somewhat smaller, body of research has been devoted to students' understanding of, and learning about, algebra, geometry, and computer programming. This research now allows relatively firm conclusions to be drawn about a number of aspects of mathematics learning relevant to the NCTM standards.