4 ms·
I don't mean to go off track here, but as someone who's been casually interested in math, I'm wondering which branches of math are the most applicable to softwa
by jxm262 12y ago
I don't mean to go off track here, but as someone who's been casually interested in math, I'm wondering which branches of math are the most applicable to software development. I've taken Discrete Mathematics, Stats, and Calc in college, but now I've been working in the field for a few years and want to try learning a bit more. I've been thinking of trying some courses on Cryptography, but it would be a major shift from my current background (web dev).
I feel like there's so many different directions to take, but which ones are the most applicable to practical Software Development? Particularly in the realm of Web Development?
Editing my question to ask what's the most applicable math subjects regarding the _PRACTICAL_ applications of software development, hopefully clears it up a bit.
- ibebrett 12y agoI feel like that might be the wrong question. If you wanted to really study formal computer science you could learn things like model theory. If you want to study the analysis of algorithm run times you may want to study something like complex asymptotics. Do you want to study math for computer science or do you want to study math that helps in most applications of computer science (graph theory, linear algebra, etc etc).
- jxm262 12y agoThanks for this. Edited the question a little to hopefully clarify things. I'm mostly going back to Coursera just out of pure curiousity, but was hoping I could take something that has some relevance to my career in Web Development (practical side, so more of your latter statement). Sounds like Linear Algebra would be good to learn.
- nharada 12y agoComputer science is pretty broad. What do you want to do? Just because I use linear algebra all the time for machine learning doesn't mean it will help you (that much) with computational complexity analysis.
- aidos 12y agoLinear Algebra is definitely one you can make use of. When I studied it at uni I did it from a mathematical standpoint and only some years later discovered how useful it is in computing. Have you done any study of Graph Theory? I've found that a surprisingly large number of problems in computing can be morphed into graphs. I was working on an issue last week (in a web app) that turned out to be a variant of Exact Cover which straight away gave me a large body of literature / algorithms to pull from - and told me I was in a slightly dark place :). Graphs and the algorithms around them feel very close to the work we do with computers, so it will probably be pretty approachable given your background. My advice would be to not worry too much about how applicable it will be to web development and just pick something to study. Ultimately, it will end up being useful in time. And maths is just beautiful.
- ThrustVectoring 12y agoRegardless of your current state of mathematical sophistication, learning more linear algebra always helps you as a developer. You might get something interesting out of learning category theory and Haskell.
- randcraw 12y agoProbability, convex and nonlinear optimization, linear algebra, and statistics are clear wins in many problem spaces, especially machine learning, AI, and computer vision. Ordinary and partial differential equations and numerical methods are heavily used in process modeling and HPC for problems in science and engineering. Geometry, curvature, and matrix theory are heavily used in computer graphics to model shape and movement, as well as computer vision. Number and group theory are the basis of crypto, I believe. In general, calculus and its variations are used to represent and describe solution techniques theoretically before mapping them to discrete solutions using numerical methods.