Надо не научить а создать условия в которых он сам научится.
Когда дети учатся играть видеоигры, то там обычно никто с ними не сидит и не учит их. Они сами учатся. И они не как попало учатся, а очень хорошо. Потому что через некоторое время само-учёбы, они очень хорошо играют по сравнению с тем как они раньше играли.
В видеоиграх это получается потому что ошибки сразу видны, и играющий старается по другому сделать в следующий раз, чтобы лучше получилось. А после много практики, он знает как избегать ошибки и как наилучше делать.
Надо давать много задач вместе с ответами для них. Но ответы надо прятать, во время решения задачи. На ответы надо смотреть, толко когда задача решена, чтобы увидеть сделал ошибку или нет.
Тот же самый список задач можно делать много раз, до тех пор пока получается все их решить без ошибок.
Если делать только одну задачу несколько раз, то можно запомнить не понимая и правильно решить с помощью запоминания а не понимания. Но когда надо решать 50 разных задач, то запоминание уже не поможет. В такой практике только понимание позволит научится все их решать без ошибок.
Я думаю надо смотреть на ответ после каждой задачи, а не решать весь список и потом только смотреть. Потому что ошибку надо увидеть как можно скорее, пока решение задачи ещё свежее в памяти. Именно так получается в видеоиграх. Там ошибки сразу видны, а не через некоторое время.