4 ms·
As a general principle, I believe you should do the hardest maths you possibly can. I have a PhD in graph theory, and these days I manage programmers, write so
by RiderOfGiraffes 16y ago
As a general principle, I believe you should do the hardest maths you possibly can. I have a PhD in graph theory, and these days I manage programmers, write software, and occasionally give talks about how maths is fun, useful and occasionally exciting.
The one thing that constantly catches me by surprise, even after decades, is how apparently useless bits of maths I did as part of my first degree are suddenly, unexpectedly relevant.
Just yesterday an obscure bit of topology interacted with ordinary classical complex analysis to yield an insight into a problem we were having. I can't tell you anything about the problem - it's commercial in confidence - but my colleagues struggled for 2 hours to see the point I was making. These are clever, clever guys, but they didn't have the background, language or toolkit to see the solution.
But it works. Code to implement the solution should ship in about two weeks. Previously we were estimating 8 to 12 months for a solution, and perhaps another 4 for coding.
Do as much math as you can, especially the hard, scary stuff.
- sz 16y agoThat is awesome, could you maybe just give a hint about what kind of area it was in? I took topology last year and it was fun but I could never imagine it applied to CS.
- RiderOfGiraffes 16y agoIt wasn't any specific results or theorems, it was just a way of thinking about "closeness" and the structure of a space we were working in. Instead of thinking of a succession of two dimensional grey-scale images, I said - let's consider the 4D space where the dimensions are X, Y, intensity and frame time, and then think of the images as a mapping from that 4D space into {0,1}. Now generalise into a mapping from C^2 -> [0,1] and think about continuity. Various properties of objects moving in your images translate nicely into properties of the functions. The thing we were trying to do turned out not to be posible, but this way of thinking showed us a similar idea that worked, and the solutions provided could be warped into a solution of the original problem. Interestingly, in a sense it was like proving that a given problem is NP-Complete in that we converted the problem we had into another, then converted the solutions back. It's the rich inter-connectedness that gives you this, not the individual fields. People recommend that you learn Linear Algebra, or Complex Analysis, or Group Theory, or Topology, but in truth, no single field helps on its own. They are intertwingled, and it's the connections that carry the real benefits.
- tom_b 16y agoSeconded. Hard, scary math is well worth the effort even if you never, ever, use any of it professionally as a programmer in a direct way. You'll be forced to stretch yourself and get used to the idea and the time involved in working on hard problems. Which does translate to dev work later. Generally, even if the CS program at your university or college isn't that rigorous (and right now, with falling enrollments, it doesn't seem that the average CS school is interested in changing this), the faculty in the math department are almost always scary smart. Take advantage of them.
- newsisan 16y agoThank you all - I made the choice and chose specialist mathematics, and I strongly believe that this was the better choice.