4 ms·
I'm somewhat "self-taught". I majored in straightforward "pure" math, with emphasis on real analysis and abstract algebra, but I did take graph theory, numeric
by geebee 14y ago
I'm somewhat "self-taught". I majored in straightforward "pure" math, with emphasis on real analysis and abstract algebra, but I did take graph theory, numerical analysis, and so forth - and the professors did include a lab component that involved writing substantial amounts of code... so I'm not completely self-taught.
That said, I feel that there is a gap because I didn't major in CS.
Although I had to read a textbook on Data Structures and Algorithms on my own, I don't feel like this is a particularly glaring gap. Interestingly, my math coursework did cover a lot of the stuff at the end of the algorithms book, since I'd taken graph theory, linear and non-linear optimization, numerical analysis. But I had to learn the basic data structures (trees, hashes, lists) on my own. While it took some work to learn this, it came naturally enough, because I consider data structures and algorithms to be very similar to math. You could study this stuff without a computer and get a decent understanding of it.
The big gap in my knowledge is more around compilers, operating systems, and that elusive border between software and hardware. I never took compiler design, and I think that languages are still a dark art to me because of it. I think I also would have benefitted from doing some very low level programming (when I was in college, "C" was still considered a "high level" language, but at least I had to struggle with memory management). Also, a lot of data structures that are optimized to interact with memory or hardware are still pretty much a mystery to me. Obviously, without this knowledge, my understanding of operating systems is going to be pretty limited.
- textminer 14y agoRight on the same page with you. Mathematician by training, programmer by youthful joy of building games and ELIZAs in QBasic, with some MATLAB/Python in college. Lucky both things caught my interest when they did, it's made breaking into Machine Learning awfully accessible as a post-university career. (I still think there are dragons inside the CPU.)