Hacker News new | ask | show | jobs
by hal9000xp 3579 days ago
As I a software developer with no degree (working since 2009 in 3 countries), I can share my experience of attempts to learn advanced math.

In 2010, I was very interested in foundations of mathematics, an extremely abstract math branches:

https://en.wikipedia.org/wiki/Foundations_of_mathematics

In particular I spent huge amount of time on:

https://en.wikipedia.org/wiki/Nicolas_Bourbaki (Set theory)

https://en.wikipedia.org/wiki/Principia_Mathematica

https://en.wikipedia.org/wiki/The_Foundations_of_Arithmetic

http://www.jhtm.nl/tudelft/tw3520/Introduction_to_Mathematic...

What attracted me is that these books doesn't require any specific knowledge of classical math. I.e. they are self-contained.

It was fun and ... the experience to delve into highly abstract view on entire math.

The big problem is that while I read that for more than a year, I had no experience in problem solving and just ignored exercises (thinking that concept is everything). As a result of that, my entire knowledge is completely evaporated and I literally can't solve any of exercises.

After that year, I dropped math till recently.

Now, I have completely different approach. I learning elementary olympiad style math and most importantly solving problems all the time. Currently, I'm into series of books:

https://www.artofproblemsolving.com/store

These books made for math olympiad preparation. While I solving exercises, I feel how solid my knowledge is.

So if you want to learn advanced mathematics, learn elementary olympiad-style math first. It will give you solid background to start learning advanced math (not just knowledge background but most importantly problem solving skills).

2 comments

I don't agree with your suggestion about olympiad math since it often has little relationship to applying advanced mathematics, but there definitely is merit to the idea that you might need to put theory into practice in order to gain insight about these things.

I recommend (surprise surprise) programming. Implement fast fourier transform in C and then Common Lisp. Write a finite difference PDE solver. Try solving actual problems to motivate you. Signals analysis can be a fun way to exercise your knowledge. Try analyzing your favorite songs and figuring out what makes them sound the way they do. Maybe implement some audio filters. If that's not your cup of tea, write physics or chemistry simulations instead. Then use OpenGL to visualize them. Then make them interactive.

I can go on and on, but I'll just leave two book recommendations for those who might enjoy programming advanced mathematics.

Structure and Interpretation of Classical Mechanics : https://mitpress.mit.edu/classical_mech

Functional Differential Geometry : https://mitpress.mit.edu/books/functional-differential-geome...

Several Project Euler problems require some mathematical nuggets and provide nice motivation to dive deeper (and provide an application right there, too).
This approach is what took my math skills to the next level. I would also frequently skip exercises and forget material that I learned previously. Since I started adding exercise books to my study routine I have seen enormous gains in knowledge retention and my ability to build on concepts already learned. It also doesn't have to be Olympiad style, there are also Math Circles and the general Problems in {Area} book, like one of my favorites Sequences, Combinations, Limits.