Many of my students come from a non-CS background, and aren't familiar with basic ideas of software engineering like modularity, choosing datastructures, putting code into re-usable functions rather than writing long copy-and-paste scripts, etcetera. I'd like to point them at a good book, but I mostly didn't learn this stuff from books and don't know what is out there.
Is there a good book on basic software engineering that is easily applicable to Julia? (This rules out a lot of the "design patterns" style books that are heavily oriented towards traditional OOP languages.) --SGJ