Na profissão de professor, pelo menos aqui no Reino Unido, os professores precisam ser qualificados muito além do que ensinam. Espera-se que um professor do ensino médio tenha um diploma na matéria que lecionou, e os professores do ensino fundamental também têm diploma e devem ser proficientes em todas as disciplinas principais até um bom nível GCSE (ensino médio) exames de saída ?, nenhum equivalente real nos EUA).
Por quê? Porque para ensinar algo bem, ou de fato usar algo bem, você precisa entender. Isso requer a compreensão da estrutura subjacente, a cadeia de decisões antes da que você está trabalhando e que levou a ela. Para entender adequadamente o código de alto nível, você deve entender a camada sobre a qual ele é construído, como ele opera, onde estão seus pontos fortes e fracos. Isso é recursivo, para entender a camada abaixo, você também deve entender a camada abaixo.
No final, é por isso que os cursos decentes de universidades / faculdades em Computação pedem boa habilidade matemática antes de tudo, pois esse é efetivamente o nível mais baixo.
Maths -> Physics ->
-> Chemistry -> Materials -> Hardware Design -> Microcode -> Assembler
-> Bus Interfaces -> Peripherals
... Assembler -> Low Level -> High Level ->
... OS / Drivers -> API Level -> Applications -> User
Se você não tiver conhecimento nessas áreas, seu entendimento ficará comprometido. Quanto mais próximo do nível em que você opera outra camada, mais importante é ter uma base nela.
Então: Você precisa conhecer o assembler como um codificador de alto nível? Isso vai ajudar.