I’m an advocate for what I have called “Unit Based Curriculum”. Students move through units at their own speed and interest. Teachers monitor the progress, making suggestions, holding students accountable, and provide tutoring where needed.
Strong students can move past their grade level, whiles still be associating with their peers. Weaker students are not promoted to higher units until they pass the lower units.