CS Unplugged – Computer Science without a computer
I remember one of the first realizations I made as an undergrad was that CS != code. I think this book does a good job of removing the two from the beginning, and it would have been useful for me to have instruction like this when I started learning.Later on I realized that most jobs that ask for a CS degree don't actually have you doing any computer science. More often you are glueing together tools or writing a bunch of boring business logic for some specific application at best. At worst you are maintaining an old monolith trying to figure out someones logic from 15 years ago.Having a CS background in most software jobs is useful in the same way having a chemistry background is useful to someone working as a nurse. Sure there will be situations where that knowledge might help you make a connection more quickly, but you're sure as hell not a chemist.