| > Wondering, what kind of math I could learn that would benefit me in my job It depends on what you want to do. I’ll get to your question in a bit, but I think this passage from the book on page (i) describes why you might want to learn mathematics. > So why would someone like you want to engage with mathematics? Many software engineers, especially the sort who like to push the limits of what can be done with programs, eventually come to realize a deep truth: mathematics unlocks a lot of cool new programs. These are truly novel programs. They would simply be impossible to write (if not inconceivable!) without mathematics. That includes programs in this book about cryptography, data science, and art, but also to many revolutionary technologies in industry, such as signal processing, compression, ranking, optimization, and artificial intelligence. As importantly, a wealth of opportunity makes programming more fun! To quote Randall Munroe in his XKCD comic Forgot Algebra [0], “The only things you HAVE to know are how to make enough of a living to stay alive and how to get your taxes done. All the fun parts of life are optional.” If you want your career to grow beyond shuffling data around to meet arbitrary business goals, you should learn the tools that enable you to write programs that captivate and delight you. Mathematics is one of those tools. You should never feel like a lesser programmer, because you don’t know mathematics it’s just something that might make things a little more interesting and fun while adding some value. Of course it’s not always fun for everyone, so let yourself decide if it’s for you. Mathematics can create value for a programmer in a lot of different ways like as stated above, but yet again people should not feel belittled not having this knowledge because there are many other ways you can add value to your job as a programmer without mathematics. With that said, I’ll give you a list of programming topics below that are enabled by mathematics and what kind of mathematics can help with those topics. If you’re not needing to study any of these topics or needing to use them in your daily job I think one of the most useful and fun types of mathematics is discrete math for everyday programming. This can build foundations of logic and reasoning needed for programming. Someone else already mentioned the mathematics for computer science course from MIT [9] in this thread and that’s a great intro to discrete though it can be pretty challenging at times especially if you’re new to the topic. Programming Topic - Math Topics to Study cryptography - number theory, abstract algebra, probability, basic combinatorics, information theory and asymptotic analysis of algorithms [1] data science - Linear algebra, Regression techniques, Probability theory, Numerical analysis [2] art/computer graphics - geometry, linear-algebra, physics-based calculus, topology and numerical methods [3] signal processing: Fourier transforms, Laplace transforms, differential equations, statistics, linear algebra, and complex analysis [4] Data structures and algorithms: mostly discrete math (set theory, logic, combinatorics, number theory, graph theory, formal proofs), asymptotic notation. compression: Information theory, statistics, probability, linear algebra [5] ranking: statistics, markov chains (think PageRank), probability, linear-algebra [6] optimization: numerical analysis, computational geometry, discrete mathematics, probability, linear-algebra, calculus [7] artificial intelligence: discrete math, statistics, analysis, linear-algebra [8] [0] see the hover over: https://www.xkcd.com/1050/ [1]: https://crypto.stackexchange.com/a/10468 [2]: https://www.datascienceweekly.org/articles/how-much-math-sta... [3]: https://math.stackexchange.com/questions/830856/how-is-math-... [4]: https://www.reddit.com/r/ECE/comments/4i7jq9/what_math_will_... [5]: https://en.wikipedia.org/wiki/Data_compression#Theory [6]: https://en.wikipedia.org/wiki/Learning_to_rank [7]: https://en.wikipedia.org/wiki/Mathematical_optimization [8]: https://math.stackexchange.com/questions/791326/what-maths-a... [9]: https://ocw.mit.edu/courses/electrical-engineering-and-compu... |