When I was in school, some students used to be placed in advanced classes. Some schools use the term "tracking" while others use "ability grouping". This has largely been discontinued due to notions that these types of programs are elitist and racist. However, removing this system was not the answer. In fact, many gifted children find themselves miserable with the lack of challenge in their classes.
Part of the problem with this type of grouping was the implementation. Ability grouping, which is grouping students by ability and achievement but with flexibility in moving a child either up or down in level, has been found to be acceptable by the courts. A strict tracking system where students are chosen strictly by IQ scores and has no flexibility to "cross boundaries" is not acceptable in the courts.
Part of the reason that ability tracking has many opponents is that they claim that teachers don't provide a proper environment for slower-learners due to reduced expectations. It is true that teachers have different expectations and provide different environments, but research by Gamoran et. al. found that providing exactly the same type of learning environment reduced progress on the part of slow learners.
One thing opponents fail to mention is that ability grouping actually increases the self-esteem of slower learners. When they do not have to compare themselves to the faster learners in the class, they don't feel as inadequate about the learning that they have accomplished. Likewise, when fast learners aren't comparing their learning to the slower learners but other fast learners, they have a more realistic sense of their abilities and accomplishments.
There are several studies that discuss these results: School Choice and the Distributional Effects of Ability Tracking: Does Separation Increase Inequality?, To Group or Not to Group Academically Talented or Gifted Students?, and One size fits all? Age based tracking versus ability grouping in elementary school mathematics.
Sadly, the research on this has been ignored in favor of eliminating ability grouping. Instead, the new solution to the problem of differential learning rates has been to attempt differentiation. Most of the research done on this shows that this provides no benefit to the students. The problem is that faster learners may also prefer to learn material with more depth and complexity. They don't gain from learning material that is often more than a year below their level of competence because it doesn't provide depth or complexity. For example, giving a student the option of writing a paragraph or an entire paper doesn't help the student learn more. The fast learner would probably rather spend a significant amount of time learning about the underlying concepts and relationships inherent in a particular concept, whereas the slower learner may struggle just to learn the basic concepts. The materials required to teach these two learning styles is significantly different, which is why in-class differentiation has been found rather ineffectual.
I find my frustration with this issue goes back to my question about standards: what is the point of teaching children something they already know? The point of standards is to make sure they learn certain concepts, not to force them to remain in same-age classrooms where they feel starved for stimulation.