11 ms·
I agree. ten's list is excellent but the OP wanted to learn topics that would help with CS and algorithms. To that end graph theory, combinatorics and basic cal
by Dn_Ab 14y ago
I agree. ten's list is excellent but the OP wanted to learn topics that would help with CS and algorithms. To that end graph theory, combinatorics and basic calculus should have been given more weight. But for theoretical CS I can't think of where Linear algebra would be useful. Abstract Algebra yes, but why Linear Algebra ? (p.s. i read your stuff on kelly criterion a long whiles ago, top notch, thanks!)
----
I would also suggest more emphasis on logic, sets, and type theory. Category Theory is also something fairly common in CS. So I would recommend (Free!): www.cs.unibo.it/~asperti/PAPERS/book.pdf
Abstract algebra: http://abstract.ups.edu/ http://abstract.ups.edu/
And while I am skeptical as to the need of linear algebra for CS, it is such a key requirement for mathematical maturity I will suggest: http://www.math.miami.edu/~ec/book/ http://www.math.miami.edu/~ec/book/. If Linear algebra is a building then abstract algebra is the frame. The two should really be taught at the same time.
- btilly 14y agoBut for theoretical CS I can't think of where Linear algebra would be useful. Abstract Algebra yes, but why Linear Algebra? Linear algebra is a necessary piece of background for linear programming (including the simplex method) and or standard approximation algorithms for many NP-hard problems. Strassen's algorithm for fast matrix multiplication is commonly taught in algorithms class. It does not make much sense unless you know what matrix multiplication is. Also if you want to work in computer graphics (which comes up both in theoretical and applied problems) you will need a solid understanding of linear algebra and matrices to understand the material. I could list more, but that's enough to demonstrate that linear algebra does come up in a lot of places. (p.s. i read your stuff on kelly criterion a long whiles ago, top notch, thanks!) You're welcome, and thanks for the compliment. :-)
- Dn_Ab 14y agoI thought of games and linear programming but didn't really count them as theoretical CS. The graphics and compilers groups don't really mix but I guess Graphics researchers are doing theoretical CS. But what's more, I didnt consider that there are people working on better algorithms for various integral transforms, on learning theory bounds and algorithms for various matrix operations and decompositions. Doh. For some reason I most strongly associate CS Theory to Languages. Which was silly in hindsight.
- btilly 14y agoWe tend to see the world through a filter of our own experience. :-)