The sciences are trying to model the world around us. School teaches from the perspective of laws and equations.
Engineers and scientists use these models (i.e. laws and equations) to make the best possible predictions of the future, but these models are not absolute or perfect. In fact, we know many of their caveats and faults.
When we teach from the perspective of models, then the students memorize the models. It seems to me that a better approach would be to teach what human kind has observed, how we modeled it, and why we modeled it this way.
This facilitates dialogue around better models. Furthermore, students no longer have to memorize everything as most of the things they will understand from school will give them the ability to reason about problems in a logical way and come up with answers without ever touching an equation. In the best of cases, this kind of understanding will enable the pupil to derive the equations, further reducing the faults of trying to memorize the models.
Task Based Learning starts with a task. To do that task the student will need to know several things. The student will not be given the answers to these things, until they ask. The initial goal is to facilitate the asking of questions, which is the student communicating their desire for knowledge. At this point we can provide the student with the knowledge they desire – they will not be given the model until they realize they need it. If a student already understands a topic, then they can move on to the next topic and so forth and so on until the aforementioned task has been completed. At this point the student moves on to the next task.
This is the mechanism by which students can truly learn at their own pace.