Closed NathanLovato closed 2 years ago
This a very important aspect. I teach programming to teenagers and they're often very focused on simply completing things as quickly/efficiently/easily as possible. Even those who're very interested and want to learn still "shoot themselves in the foot" because they don't realize that taking the time to work through a problem is important to learning.
If they can look up the answer easily, they often will as soon as it gets a little difficult, and upon seeing the answer they will understand how it should be done. But, the whole point of the exercise was to figure out how to solve it, not simply understand the completed solution - those are very different things.
It's the same in Math, where students will compare their answer with the correct one at the end of the book. If they're wrong they should go back to the problem and try solving it again, but instead they'll often work out their mistake by using the correct answer. Then they fail the exam, because they've only learned how to solve problems given the correct answer.
Personally, I don't think there should be a complete solution at all. Use more hints instead. Or even better, if a practice problem is hard enough that students may need the solution, then there simply needs to be more intermediary practice problems for the student to work on before they're ready for this one. I think you're already aware of this though.
Sure, the learning depends on the student and how they practice.
We shouldn't allow people to get completely stuck either - it's not just a matter of making the assignments simpler.
This app treats people like adults. We can tell them they'll only get as much as they put in.
Fixed by https://github.com/GDQuest/learn-gdscript/commit/5ca75128cf3dfef6b52f983fc7072683850a7d30 and https://github.com/GDQuest/learn-gdscript/commit/c0be65488de3e94d0973e7362464d18b9f7d7c09.
Users also get an indicator next to the practice name to explain that the solution was used, so it won't count towards course progress.
Right now, even if the student uses the provided solution, when they run the practice, we mark it as complete.
Like we did with quizzes, if they use the solution, we should leave it as not completed.