No, but most programming is definitely not engineering. Math savvy people will definitely be needed - more in some areas than in others, but it is silly to have something most people don't have use for in their daily work as a requirement.
The point being is that there is a need for people with engineering skills, but there is also a need for people with craftman skills. Perhaps what we are seeing is the early stages of different education paths to the different roles?
As for the different points:
"Number theory. If you’re ever asked how one algorithm or data structure performs over another"
Err, no. That would be courses in analysis, calculus or numerical calculation courses, or courses in discrete analysis if you can find one. Number theory is what you use to understand stuff like encryption.
(Also, the popups was very annoying on the page)