I would like to know in which order I should learn different areas of maths so I can have a robust overview of all the theory in case I need something for a computer programming problem.
So I've created this mind map
I do not intend to know all those small details about how to do a certain thing (e.g. "gauss-jordan reduction"), I would rather look over an example, but then do it with math software like sage-maths or mathematica.
I would like to know, for instance, how to get to a taylor series, given the analytical function (I know it already, I am merely illustrating the kind of knowledge depth I expect).
So all I all, I want to be able to read academic articles about maths which have applicability in computer science / programming, and actually understand something from those articles, so I can use that knowledge in solving actual programming problems.
The open question is:
(a) In what order do you suggest to learn about these areas, on what areas should I insiste more?
(b) Do you see any missing areas in the mind map?
preguntado el 30 de junio de 12 a las 19:06
If you want to be serious, you should get a graduate level course on computer science in a university. There is no replacement for this.
Usted debe: know basic set theory, big O, basic data structures, basic real analysis. I suggest looking at Cormen et al. 'Introduction to Algorithms', and/or Manber's 'Introduction to Algorithms: A Creative Approach'. For number theory, check Victor Shoup's book - contains far too much, but it is readable at any level.
I suggest not bothering at all with topics such as: complex analysis, functional analysis, projective/inversive geometry, control theory, mathematical physics, until you know you need them.
Instead of making your graph bigger and bigger, make it as small as possible.
There is a good book, that I think would help you to get more out of computer science research papers and dissertations. It's called "Concrete Mathematics: A foundation for Computer Science", and it's available on Amazon:
I think this would help because it will all be relevant, and its consolidated which will help expedite the learning process.
Even if you don't have any money, just Google it and take a look at the index to get an idea of what areas you might want to learn.
Y aqui one more interesting book.
This is almost impossible to answer as many programming tasks require no mathematical knowledge (other than counting and basic logic) at all. If you have specific interests in an area (such as numerical linear algebra or statistics for example) then start there. Still what I would suggest is getting a good grasp of how finite precision arithmetic works. Perhaps read an introductory text on numerical analysis as this will give a good understanding of what numerical stability is. A good book on analysis of algorithms (with regards to speed and efficiency) would do no harm, and if you plan on doing any kind of mathematical programming, getting a sound knowledge of linear algebra is a very good idea. Almost everything in applied mathematics reduces to ultimately solving a linear system of equations (or doing so iteratively).
There is no right answer to be honest.