I'm showing my age but ...
I started with a book on Z80 assembler, which was great, a nice easy to understand chip. By learning about index registers, it made understanding pointers in C very easy. And when at school I did a microelectronics course which taught about logic gates NAND, AND, OR XOR etc, which makes understanding booleans and a lot of things about binary easy.
I wouldn't say it's essential, and possibly getting less essential every year, but having the picture in my head still helps with understanding things like passing references by value in the Java model.
There are some great kits for playing with digital logic electronics, FPGA etc. for teenagers. I'd buy one and enjoy yourself. Seeing the parts always makes learning hardware more enjoyable than just reading an article.