самому себе тоже можно придумать задачки, но без понимания предмета сложно адекватные поставить, чтобы не слишком легкие, но и не фрустрационные. ну и проверить и показать другие способы решения. особенно в программировании. пару раз самообучался, потом офлайновые курсы прошел, понял, что у меня совершенно уебански был процесс настроен и многие базовые штуки мне препод объяснил за пару минут. плюс еще когда с другими студентами вместе практический проект пилите - совершенно другой опыт