Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Recommendations for applied engineering and math books for programmers?
30 points by dr_kiszonka 4 days ago | hide | past | web | favorite | 8 comments
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.)

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.

Can you recommend any good self-study books that:

- introduce methods and concepts from engineering and math,

- show you how to code them,

- equip you with just enough intuition to let you apply the methods and to follow more advanced, traditional textbooks?

Ideally, the books would:

- be applied,

- use free software,

- not rely on custom packages written by the author,

- not focus on data science and statistics, because I have a pretty good understanding of these areas.

I am particularly interested in signal processing, control systems, simulations, and difference equations, but I am really open to any recommendations.


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/

Foundations of Applied Mathematics: 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.

This is excellent. Thanks so much!

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... 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 this heavily uses differential invariants and all the lectures are open.

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

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

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.

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.

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!

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

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact