как вы считаете, должно ли обучение программированию начинаться с глубокого изучения аппаратной части компьютера? Начиная с уровня стандартной логики, механизмов работы АЛУ, регистров, и прочих хардварных элементов. Затем изучать процессор и периферию на простых примерах, таких как восьмибитные/16-битные процессоры/микроконтроллеры с их небогатой периферией, организация работы с памятью, реализации стандартных функций и алгоритмов. И лишь затем переходить к более высокоуровневому.
Сам я изучал программирование совсем не в такой последовательности, но мне кажется, что это полезно чтобы человек понимал как оно работает, а не относился к компьютеру, как к магическому ящику.
Если цель - программировать железо, то такой подход почти наверняка правильный. А вот насколько это осмысленно в остальных случаях?