
Minimal prerequisites make this text ideal for a first course in number theory. Written in a lively, engaging style by the author of popular mathematics books, it features nearly 1,000 imaginative exercises and problems. Solutions to many of the problems are included, and a teacher's guide is available. 1978 edition.
> I worry there are some dots I never connected
This will always be true for anyone learning math in any circumstances.
The beauty of the subject is that there is always more to unravel, always more connections to make. Don't worry about what you didn't learn -- although follow-up classes to pick up some of the loose ends are always recommended :)
I don't believe that there is any one royal road to mathematics. Different people learn in different ways, and come with different backgrounds. For example, some people like to learn all the foundations and formalism up front, and then build on it. Personally, I like to learn a bunch of examples first, so that when I see the formalism I can relate it to what I already know.
Personally, I definitely appreciate foreshadowing (as you do) and try to incorporate it in my own teaching.
You'll find a lot of good math materials out there at higher levels, but generally speaking they will cover one subject at a time, as this is what creators enjoy creating. For example one book I like is Underwood Dudley's Elementary Number Theory (can be bought cheaply online) -- and one reason is that the author gives elementary proofs which mimic the structure of the higher-level formalism (i.e. abstract algebra), so that this formalism feels familiar by the time you actually learn it. This somewhat aligns with your request for "foreshadowing".
One of my colleagues said that this book drives him crazy for the same reason -- he thinks you should learn the higher-level formalism up front, so you can put it to good use. No one can say that one approach is better or worse than the other, just that it worked better for them.
Within number theory, different books and different learning styles are good for different people. I personally like to get a book, see if I like the topic, and if I do then get another book so that I can compare them. You might try one of these elementary books on number theory:
https://www.amazon.com/Elementary-Number-Theory-Second-Mathe...
https://www.amazon.com/Introduction-Number-Theory-MIT-Press/...
https://artofproblemsolving.com/store/book/intro-number-theo...
Combinatorics and graph theory are reasonable too, but IMO it is too easy to learn aspects of those subjects without really biting off the "how to handle proofs" thing. Analysis and abstract algebra make more sense after number theory first - number theory is basically "pre abstract algebra".
Instead of listing other books I would suggest the following learning scheme of a programmer trying to deepen their math:
1. No need to go beyond basics. Any uni-level introductory math course is already more advanced than 99.99% uses you might have.
2. Know your basics well. Get 2-3 classic books. Work through the one you like most, but still read through the rest.
3. Practical book size limit - 200-250 pages. Math material is hard, 200 pages of good math is months and months and months and mo...
4. Setup a learning/reading routine.
Books that sparked my interest in all of Mathematics (BTW, I'll be glad if you recommend any Abstract Algebra books):
- Calculus, Howard Anton.
- Calculus, Spivak
- Advanced Engineering Mathematics, Erwin Kreyszig
- Elementary Number Theory, David Burton.
Computer Science/Engineering:
- Data Structures and Algorithms, Adam Drozdek
- Digital Design, Morris Mano
- David Patterson and John Hennesey's books
- Mastering Embedded Linux Programming, Chris Simmonds.
My advice would be to get a book on any topic which interests you, read through it, and do a significant number of the exercises. You might try Epp's Discrete Mathematics, Hefferon's Linear Algebra, Colley's Vector Calculus, Dudley's Elementary Number Theory, Spivak or Apostol's Calculus (these go far beyond ordinary freshman calculus), Pinter's A Book of Abstract Algebra, among many others. Some of these books are expensive to buy new, but just buy older editions.
Resources like Khan Academy and 3blue1brown are also fantastic, and I have shared some of these with my students. I'd recommend using these as a supplement; if you rely on them solely then you'll develop vague intuition but not much else.
Also, with the pandemic, there are a huge number of traditional university courses that have moved online, and you could probably enroll in one for not too much money. Check the RateMyProfessor reviews -- you want a mix of positive reviews claiming the prof inspired them, and negative reviews complaining that work was expected. I have a RateMyProfessor review which complains bitterly that "homework is graded for accuracy and not completion". :)