What Every Engineer Should Know about Microcomputer Software by Keith A. Wehmeyer
This book covers the entire scope of computer programming and Structured Program Design, from problem identification to maintaining existing programs. It is intended for two audiences: beginning programmers and experienced programmers seeking ways to improve the quality of their software.