Было время я работал как Couch на вечерних курсах по Java программированию (Основы, база и проф). С тех пор прошло 10 лет и в своей профессиональной деятельности как Java Developer сделал определенные выводы.
Иногда не хватает профессионализму хорошую базу знаний. Самообучение чревато тем, что знания могут иметь пробелы.
Я за то, чтобы обучать программированию с качественным материалом, с обязательной проверкой в упражнениях, закреплением терминов в тестах.
Так просматривая ролики по професиональной теме, порой не понятна общая картина происходящего.
Поэтому я в своих курсах предалагаю сначал теорию в слайдах, потом примеры в коде.
Обязательно проверка полученных знаний в упражнениях с автоматической проверкой.
По возможности каждый раздел сопровождается тестами, которые помогают закрепить термины или конструкции. А также помогают развивать внимательность.