В обучении кроме самого предмета важны этапы обучения, как подавать материал, как контролировать его восприятие, контрольные/лабораторные работы, система оценки и много-много чего такого, что до собственно программирования как такового порой даже и дело не доходит