
Fads are as common in mathematics as in any other human activity, and it is always difficult to separate the enduring from the ephemeral in the achievements of one’s own time. An unfortunate effect of the predominance of fads is that if a student doesn’t learn about such worthwhile topics as the wave equation, Gauss’s hypergeometric function, the gamma function, and the basic problems of the calculus of variations―among others―as an undergraduate, then he/she is unlikely to do so later. The natural place for an informal acquaintance with such ideas is a leisurely introductory course on differential equations. Specially designed for just such a course, Differential Equations with Applications and Historical Notes takes great pleasure in the journey into the world of differential equations and their wide range of applications. The author―a highly respected educator―advocates a careful approach, using explicit explanation to ensure students fully comprehend the subject matter. With an emphasis on modelling and applications, the long-awaited Third Edition of this classic textbook presents a substantial new section on Gauss’s bell curve and improves coverage of Fourier analysis, numerical methods, and linear algebra. Relating the development of mathematics to human activity―i.e., identifying why and how mathematics is used―the text includes a wealth of unique examples and exercises, as well as the author’s distinctive historical notes, throughout.
For textbooks, I can recommend you the fantastic book- Non-Linear Dynamics and Chaos by Steven Strogatz. It is fully concerned with chaos theory and applications of DEs.[1]
I recommended these to you since you are looking for "practical" stuff.
A lot of DE courses deal with DEs mechanically, i.e. "here's this method, here are some examples, and this is how you use the method to solve it". I don't really like this approach, and I have never needed them outside college. If you like this, then look no further than Paul's Online Notes [4].
Here is also something you could consider: "Differential Equations: From Calculus to Dynamical Systems: Second Edition by Virginia W. Noonburg" [2] I haven't read it in full, but AMS generally has good taste when it comes to authoring good textbooks.
I also second the suggestion to check out stuff from Steve Brunton. [3]
If you want something practical, you might have a field in mind. So, you could also choose to read a basic course, and then dive into the field itself by looking up "Differential Equations in X books" where X is Physics, Biology, Finance, etc. For the absolute basics, Khan Academy is also good. I also mentioned two in the original post. Riley, Hobson, Bence is better for your needs.
I have recently come across Differential Equations with Applications and Historical Notes By George F. Simmons [5]. It might also float your boat.
I am aware that I have given you too many choices. But learning DEs is a months-long endeavor and I want you to spend at least some hours choosing your textbook/course/hybreed before you start your journey. This is how I chose my books in college. Multiple teachers, seniors would suggest ~10 books on each topic, and I would go to the library and spend two full days skimming through all of them, and choose 1-2 books.
[0]: https://mitxonline.mit.edu/courses/course-v1:MITxT+18.03.1x
[1]: https://www.stevenstrogatz.com/books/nonlinear-dynamics-and-...
[2]: https://bookstore.ams.org/text-43
[4]: https://tutorial.math.lamar.edu/classes/de/de.aspx
[5]: https://www.routledge.com/Differential-Equations-with-Applic...
The biggest issue is that we have no systematic tracking in the U.S. That means students are not given the opportunity to go to a vocational school, everyone is routed to a "college prep" high school. That causes people who would rather work on more practical things to listen to more abstract things, but watered down to the point of being uninteresting. Math is too boring for the smart kids, and irrelevant for everyone else.
The second biggest issue is personnel. Our math teachers aren't very good at math, and tend to be at the bottom of the barrel in terms of SAT scores. In other countries, the brightest college graduates go into teaching, or at least those in the upper quartile. In the U.S., it's those in the bottom quartile. I used to tutor Math education majors in Arizona - of all the majors I tutored, the math education majors were the worst, in terms of their knowledge and enthusiasm for the subject. At that time they needed only a single class beyond the standard freshman math curriculum. It was called "Advanced Calculus", but was basically just an introduction to real analysis. Basically you just go back over single variable calculus and are told the completeness axiom and Cauchy limits, and then you prove the major theorems of single variable calculus. That's it. The Math majors generally took this class in their freshman year (since they would AP test out of calculus, which was the only pre-requisite). The Math Ed majors would typically take it in in their Junior year, because almost none of them took AP calculus and many had to take remedial math classes. And it was a massive struggle for them. I would hear so many math ed majors complain that they hated math that one time I asked one "Why don't you try another major, if you hate math?" and the response was "Oh, I like teaching, but I hate math." That was really a moment of epiphany for me since I looked back on all the terrible math teachers I had, and saw the other side of the coin -- they hated the subject. They were having as much of a bad time as I was. That comes through, and influences the pedagogy.
In terms of books, I recommend anything by George F. Simmons, who adds historical notes and examples to his books. For example, "Differential Equations with Applications and Historical Notes".
https://archive.org/details/differentialequa0000simm/page/n6...
• Real Analysis: A Long-Form Mathematics Textbook
• Proofs: A Long-Form Mathematics Textbook
• Mathematical Logic Through Python
• A Course in Calculus and Real Analysis
• A Course in Multivariable Calculus and Analysis
• Differential Equations With Applications and Historical Notes
• Probability and Random Processes (Grimmet)
• Probability Through Problems
• Fifty Challenging Problems in Probability with Solutions
• The Simple and Infinite Joy of Mathematical Statistics
• An Introduction to Error Analysis
It has been 3 years now and I feel that I have become decent at coding, yet my education in math and computer science is sorely lacking. For example, I am working on a semantic search project and I am reading about cross-encoders, and while I understand the problem statement and the solution and could operate the model based on the documentation, I have no idea how it works. Once I understand how to apply the tool, the programs become easy to write and I can resolve errors by directly referencing documentation, either of the language or the library. The last time I wrote python was major version 2 as a 16 year old, but I'm learning python 3 10 years later from the reference manual. This is what I mean by 'decent at coding' but lacking in math/cs background. Put frankly:
- I have gotten to the point where the foundations of the techniques to solve the problems I am working on are beyond my educational level, but I am a decent enough engineer to identify where the technique could be applied and how to implement it.
- I want to learn the math and cs to work on scientific computing. I want to investigate dynamical systems with computers. I think my potential lies not in specializing in a specific natural science (such as geophysics), but rather becoming a skilled implementer.
Is the goal of transitioning to working on scientific or research software as an implementer for someone with little formal education a reasonable one? If it's not, this will still be my hobby. How can I remediate/fill in the gaps of my math education?
- Book list for math: currently reading "A first course in mathematical analysis" by Burkhill for calculus (to refresh and extend high school), and then after that: my college linear algebra book (done wrong), Spivak's "Calculus on Manifolds", and "Differential Equations with Applications and Historical Notes".
- CS/Software Engineering: I gravitate towards functional programming and mathematical logic, so resources like the 'Software Foundations'[2] series are appealing. However my interest in numerical methods and scientific computing tells me that reading a book such as 'Computer Systems: A Programmer's Perspective' and then moving on to an applied numerical analysis book and OpenGL book would be a greater 'return on value' in the short term. There is also the need to continue my professional development as an engineer, and for this I am looking at books like 'Designing Data-Intensive Applications' and 'Software Design for Flexibility'.
How do I balance my interest in foundations with my interest in scientific/numerical computing? How do I balance my math/cs study with my professional development regarding engineering?
TL;DR;
I feel like I have become an 'intermediate' autodidact in the sense that I feel that I have overcome the dunning-kruger effect, I feel like an idiot[3] yet am a working programmer being paid an industry standard wage to work on designing software systems based on mathematics and computer science I do not fully understand, and I am looking for advice on how to actually start mastering the craft with an eye towards both foundations and scientific computing/numerical analysis implementation. I want to continue working part-time and study part-time on my own rather than go to school.
[1] https://www.gutenberg.org/ebooks/18267
[2] https://softwarefoundations.cis.upenn.edu/
[3] https://grugbrain.dev/