
Written in a frank but engaging style, this guide provides simple, foolproof principles guaranteed to help find any hardware or software bug quickly. It is applicable for any system in any circumstance. (Computer Books)
The New Turing Omnibus, 66 Excursions in Computer Science[1]
Code Complete [2]
Debugging The 9 Indispensable Rules of Finding Even the Most Elusive Software and Hardware Problems [3]
The Pattern on the Stone [4]
The Tinkertoy Computer and Other Machinations ... [8]
-----
#5, #6 & #7 approach from different directions and "meet in middle":
Code: The Hidden Language of Computer Hardware and Software [5]
Nand2Tetris[6]
The Little Schemer and Understanding Computation [7]
--------?? Links to 'editor'/ide cheetsheets ??
--------
[1] : https://www.amazon.com/New-Turing-Omnibus-Sixty-Six-Excursio...
[2] : https://en.wikipedia.org/wiki/Code_Complete
[3] : https://www.amazon.com/Debugging-Indispensable-Software-Hard...
[4] : https://en.wikipedia.org/wiki/The_Pattern_on_the_Stone
[5] : https://www.amazon.com/Code-Language-Computer-Hardware-Softw...
[6] : https://www.nand2tetris.org/
[7] : https://vpb.smallyu.net/%5BType%5D%20books/The%20Little%20Sc...
[8] : https://www.amazon.com/Tinkertoy-Computer-Other-Machinations...
----
When semester of programming projects isn't enough / couldn't wait for the programming langauge of choice : https://exercism.org/
https://www.amazon.ca/Debugging-Indispensable-Software-Hardw...
1. Understand the System
2. Make it Fail
3. Quit Thinking and Look
4. Divide and Conquer
5. Change One Thing at a Time
6. Keep an Audit Trail
7. Check the Plug
8. Get a Fresh View
9. If You Didn’t Fix it, It Ain’t Fixed
It has concrete points to focus when debugging and a bunch of examples for each. And it's easy to read as an introduction to the subject.