
Ask HN: Recommendations for applied engineering and math books for programmers? - dr_kiszonka
I enjoy reading about engineering and math. Unfortunately, I always make simple arithmetic errors, so I never had the courage to take anything beyond calculus and linear algebra in college. (Decades ago, we had to calculate everything by hand.)<p>Over the last few months, I noticed people on HN mentioning books and articles that introduce engineering methods, e.g., control systems, to programmers. This approach works well for me because IDEs and debuggers eagerly notify me about errors in my code.<p>Can you recommend any good self-study books that:<p>- introduce methods and concepts from engineering and math,<p>- show you how to code them,<p>- equip you with just enough intuition to let you apply the methods and to follow more advanced, traditional textbooks?<p>Ideally, the books would:<p>- be applied,<p>- use free software,<p>- not rely on custom packages written by the author,<p>- not focus on data science and statistics, because I have a pretty good understanding of these areas.<p>I am particularly interested in signal processing, control systems, simulations, and difference equations, but I am really open to any recommendations.<p>Thanks!
======
teleforce
Coincidentally, I've spent countless hours during the Covid-19 isolation
looking for good to excellent textbooks on Engineering and Computer Science.
Perhaps I can share them in the near future. These are some excellent books
based on my findings for your particular requirements.

1) For general applied and engineering Maths book perhaps you can look into
both textbooks by Prof. Kuldeep Singh and they uses Matlab but Octave should
be fine [1].

a) Engineering Mathematics Through Applications b) Linear Algebra

2) For signal processing especially for communication I'd highly recommend
"Digital Signal Processing in Modern Communication Systems" by Andreas
Schwarzinger. It introduces the modern communication systems from the first
principles to the more applied OFDM systems with examples that can be run
using either Matlab or Octave. Just get the book it's really good even if
you're not interested in communication systems.

3) If you want to learn more advanced applied engineering books on signal
processing I'd recommend reading books on time-frequency techniques both
linear and non-linear. For introduction check the book "Explorations in Time-
Frequency Analysis" by Patrick Flandrin. Time-frequency analysis is most
probably going to be pervasive very soon for increasing the accuracy of AI and
ML by providing better intermediate processing of data features.

[1] [https://maths-for-all.co.uk/](https://maths-for-all.co.uk/)

------
playing_colours
Foundations of Applied Mathematics: [https://foundations-of-applied-
mathematics.github.io/](https://foundations-of-applied-mathematics.github.io/)

Solid paper books, with lab manuals in Python you can download online. Volume
1 and 2 are available at the moment. It will take some time to work through
them - maybe, just enough for Volume 3 to arrive.

~~~
dr_kiszonka
This is excellent. Thanks so much!

------
hackermailman
Gilbert Strang has an engineering text 'CSE' for creating models using
differential eq and solving them entirely in MATLAB or other software. All
lectures on MIT ocw
[https://ocw.mit.edu/courses/mathematics/18-085-computational...](https://ocw.mit.edu/courses/mathematics/18-085-computational-
science-and-engineering-i-fall-2008/) it's probably the best math course I've
ever done.

If you go on MIT Stellar you can get the most recent lectures if you want, but
the book hasn't changed. MIT likely has a few more of these kinds of courses
if you look at their most recent offerings, I've only done that book/course(s)

Maybe you also want to program drones or robots or self driving cars
[http://symbolaris.com/course/lfcps.html](http://symbolaris.com/course/lfcps.html)
this heavily uses differential invariants and all the lectures are open.

------
auxym
You might enjoy this talk "statistics for hackers" (in case statistics is not
included in your data science knowledge):
[https://www.youtube.com/watch?v=Iq9DzN6mvYA](https://www.youtube.com/watch?v=Iq9DzN6mvYA)

For structural beam analysis (ie, from mechanical and civil engineering) check
out this textbook on the direct stiffness method:
[http://www.mastan2.com/textbook.html](http://www.mastan2.com/textbook.html)

Unfortunately, the accompanying code (MASTAN2) is not open source and runs in
Matlab. Still, it's a decent first step if you want to move to full-on Finite
Element methods, which require much heavier math (real analysis) to really
grasp.

------
nightowl_games
It sounds to me like you'd be interested in Game Development literature.

Check out Real Time Rendering, Real Time Collision Detection, the Nvidia GPU
Gems Series (they're free), the Graphics Codex.

These books are all very enjoyable.

~~~
nightowl_games
And if you want to try implementing them, consider using Godot as a base, or
magnum.graphics if you want to be really hardcore about it.

Also, check out 2 Minute Papers on YouTube and then follow his sources. Enjoy!

------
tcharding
I just started working through 'Concrete Mathematics - a foundation for
computer science'. You might like it.

