Linear algebra, matrix computation and probability. Some signal processing. Some cryptography and computational complexity basics for a few data structures.
Beyond that, I think it’s more important to learn how to solve problems generally and how to self-teach in order to pliably move into a topic you are less familiar with, grok the details sufficiently well to figure out a plan of attack, and figure things out well enough to know what to research or where / how to ask for help effectively.
A good, well-rounded curriculum is worthwhile, whether in college or self-taught. But there’s no magic set of things that always cover an adequate basis of knowledge for everbody’s career. So learning how to adapt and learn is more beneficial in general.
As far as economic returns go, I’d say first find a particular technology or problem area that is in demand, and begin working that way and using time, work projects, and other resources to expand your set of expertise from there.
Beyond that, I think it’s more important to learn how to solve problems generally and how to self-teach in order to pliably move into a topic you are less familiar with, grok the details sufficiently well to figure out a plan of attack, and figure things out well enough to know what to research or where / how to ask for help effectively.
A good, well-rounded curriculum is worthwhile, whether in college or self-taught. But there’s no magic set of things that always cover an adequate basis of knowledge for everbody’s career. So learning how to adapt and learn is more beneficial in general.
As far as economic returns go, I’d say first find a particular technology or problem area that is in demand, and begin working that way and using time, work projects, and other resources to expand your set of expertise from there.