Какой из двух типов обучения лучше?
Какой формат более эффективен с точки зрения обучения и образования? Что говорит ваш опыт по этому поводу? 
Никакой, так как программирование 1 час = это вообще ничто, бывает в сложном проекте 1 час просто дебажишь ошибку, из-за большого количества плохого кода, а у новичков процесс обучение + дебаг своего же = умножить на n.

С английским так же - что бы выучить английский нужно,
а) жить в стране носителя языка, что бы 24\7 общаться и ассимилироваться в нем, либо
б)включить во все аспекты жизни английский язык - хобби, работу, просмотр\прослушивание музыки, фильма, книги и тд.

Хотите стать мастером какого либо дела - 8-12 часов в день, и через какое-то время после тяжелого отрезка непонимания и отрицания = плоды будут, но вот только сколько лет вам понадобится на это, 1 год или 5, зависит от наследуемых свойств или задатков + вашего личного старания.
Интересно как алгоритмы вы собираетесь изучать без программирования. А так всем разные методики подходят, вам остается только попробовать и узнать самому.