The Self-Taught Computer Scientist is Cory Althoff's follow-up to The Self-Taught Programmer, which inspired hundreds of thousands of professionals to learn how to program outside of school.
In The Self-Taught Programmer, Cory showed readers why you don't need a computer science degree to program professionally and taught the programming fundamentals he used to go from a complete beginner to a software engineer at eBay without one.
In The Self-Taught Computer Scientist, Cory teaches you the computer science concepts that all self-taught programmers should understand to have outstanding careers. The Self-Taught Computer Scientist will not only make you a better programmer; it will also help you pass your technical interview: the interview all programmers have to pass to land a new job.
Whether you are preparing to apply for jobs or sharpen your computer science knowledge, reading The Self-Taught Computer Scientist will improve your programming career. It's written for complete beginners, so you should have no problem reading it even if you've never studied computer science before.
As a self-taught programmer, I have dedicated a significant amount of time to studying courses, tutorials, and learning new languages and frameworks that proved beneficial for my projects. Initially, I felt competent as I was able to complete relevant projects. I also delved into computer science books, believing that I had a strong grasp of fundamental computer science skills and concepts. However, reading this book exposed the gaps in my knowledge, making me realize my weaknesses and motivating me to address them. Now, after gaining a much clearer understanding of algorithms and data structures, I feel significantly more confident in coding my projects. I can quickly assess the efficiency of the programs I write and identify areas for improvement. For self-taught programmers, this book is highly valuable as it imparts crucial concepts and brings structure to the otherwise unstructured material you might have learned in the past.
While there were a couple of typos that made some code snippets harder to understand, overall, the book was very informative. Python is used throughout the book but it did not overshadow the main theme like it did in the author's previous book "The Self-Taught Programmer". The author discussed big O notation, fundamental search and sort algorithms and data structures up to trees and graphs in a clear and concise manner. Many code snippets were provided along with explanations. I liked the recommendations for studying more advanced computer science topics. The book is useful for beginner programmers and as a refresher for those who haven't studied the topics in a while.
The book seems to be over-hyped by so many self-taught Python coders who think they learned computer science by reading it. Surprise, they learned almost nothing. The definitions in the book are vague, most algorithms are simply mentioned with little or no explanation and their implementations rely on many high-level features of Python programming language. As a result, a way more fitting title for the book would be "The Basics of CS for the Self-Taught Python coder". It won't teach you computer science, but rather just create an illusion that you've learned something.