I&#x27;m a programmer without a computer science degree and I&#x27;m quite aware that CS is a bit of a blind spot for me so I&#x27;ve tried to read up to rectify this a little.<p>I found The New Turing Omnibus[1] to give a really nice overview of a bunch of topics, some chapters were a lot harder to follow than others but I got a lot from it.<p>Code by Charles Petzold[2] is a book I recommend to anyone who stays still long enough; it&#x27;s a brilliant explanation of how computers work.<p>Structure and Interpretation of Computer Programs (SICP)[3] comes up all the time when this kind of question is asked and for good reason; it&#x27;s definitely my favourite CS&#x2F;programming book, and it&#x27;s available for free online[4].<p>I&#x27;m still a long way off having the kind of education someone with a CS degree would have but those are my recommendations. I&#x27;d love to hear the views of someone more knowledgable.<p>[1] <a href="https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;New-Turing-Omnibus-K-Dewdney&#x2F;dp&#x2F;0805071660" rel="nofollow">https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;New-Turing-Omnibus-K-Dewdney&#x2F;dp&#x2F;080...</a>
[2] <a href="https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;Code-Language-Computer-Hardware&#x2F;dp&#x2F;0735611319" rel="nofollow">https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;Code-Language-Computer-Hardware&#x2F;dp&#x2F;...</a>
[3] <a href="https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;Structure-Interpretation-Computer-Electrical-Engineering&#x2F;dp&#x2F;0262510871" rel="nofollow">https:&#x2F;&#x2F;www.amazon.co.uk&#x2F;Structure-Interpretation-Computer-E...</a>
[4] <a href="https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;full-text&#x2F;book&#x2F;book.html" rel="nofollow">https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sicp&#x2F;full-text&#x2F;book&#x2F;book.html</a>