Everything you needed to know, and then some.
This is probably the best book on electronics available, and has been recommended to me by at least two trained electronic engineers. While it’s a bit old and so doesn’t reflect a lot of modern kit, it covers the basics in an accessible way.
The main lesson I’ve taken away from this is to avoid the tendency to to think of electronics as a detailed and exact science. There’s a tendency for a computer scientist to calculate and compute too much — way beyond the ability of real-world components to deliver. The authors make the point several times that a circuit that depends on a particular, exact value of a component is simply a bad circuit, and a good circuit will by contrast tolerate a range of component values and tolerances. I’m not sure I could build a circuit from scratch, but in terms of understanding the way engineers put circuits together this is an excellent resource.
Paul Horowitz and Winfield Hill. The art of electronics. Cambridge University Press. 1989. ISBN 0-521-37095-7.