You have a good point. OP was trying to show how to pursue computer science by understanding the meaning behind programming. But he deviated it to the software engineering which is a different scope to chase for.
If you like to pursue computer science, you spend your time on improving algorithms, improving compilers, improving language and improving operating systems. When you like to pursue a different direction to write software applications, you focus more on the latter part OP mentioned.
There is no absolute line between the two. Understanding better in the low level will always help, especially for the new programmers. That's why we had the principle courses in colleges.
If you like to pursue computer science, you spend your time on improving algorithms, improving compilers, improving language and improving operating systems. When you like to pursue a different direction to write software applications, you focus more on the latter part OP mentioned.
There is no absolute line between the two. Understanding better in the low level will always help, especially for the new programmers. That's why we had the principle courses in colleges.