В преподавательской профессии, по крайней мере, здесь, в Великобритании, учителя должны иметь квалификацию, намного превышающую то, что они преподают. Учитель средней (старшей) школы должен иметь степень по предмету, который они преподают, а учителя начальной (начальной) школы тоже имеют степени и должны хорошо владеть всеми основными предметами вплоть до хорошего уровня GCSE (средняя школа) выходных экзаменов?, нет реального США широкий эквивалент).
Зачем? Потому что для того, чтобы чему-то научить или действительно хорошо что-то использовать, вы должны это понять. Это требует понимания базовой структуры, цепочки решений до того, с которым вы работаете, что привело к ней. Чтобы правильно понять высокоуровневый код, вы должны понимать уровень, на котором он построен, как он работает, в чем его сильные и слабые стороны. Это рекурсивно, чтобы понять слой под ним, вы должны понимать и слой под ним.
В конце концов, именно поэтому приличные курсы по информатике в университетах / колледжах требуют хорошей математической подготовки, прежде всего, потому что это фактически нижняя ступень.
Maths -> Physics ->
-> Chemistry -> Materials -> Hardware Design -> Microcode -> Assembler
-> Bus Interfaces -> Peripherals
... Assembler -> Low Level -> High Level ->
... OS / Drivers -> API Level -> Applications -> User
Если вам не хватает знаний в этих областях, то ваше понимание под угрозой. Чем ближе к уровню вы управляете другим слоем, тем важнее иметь в нем заземление.
Итак: Вам нужно знать ассемблер как высокоуровневый кодер? Это поможет.