Instead of a Reset Progress Button (Maybe Still keep the button, but as a choice for the student).
Create a new feature called “Review Session” that let’s you review topics that you’ve already completed as if you’ve never completed them, without resetting the progress.
Essentially access the lessons and projects that you have access to but without the code that you had written for it.
How I envision it being implemented:
Enter into a review session either from the home screen, lesson or project. Once in a review session every new lesson or project that you enter into is empty as if never completed. However until the the review session is ended all work is temporarily saved.
I find myself wanting to review lessons without seeing my previous code as sort of a memory exercise, but the reset progress button is a little bit too much of a commitment for me.