This article showcases our top picks for the Best Books To Learn Computer Science. We reached out to industry leaders and experts who have contributed the suggestions within this article (they have been credited for their contributions below).
We are keen to hear your feedback on all of our content and our comment section is a moderated space to express your thoughts and feelings related (or not) to this article This list is in no particular order.
Laws of UX by Jon Yablonski
This product was recommended by Neal Shah from CareYaya
User experience is one of the most underappreciated aspects of computer science, especially in the early phases of one’s education in the field. Laws of UX provides philosophical considerations for design, a deep dive into the human psychology behind user experience of software, and a litany of relevant examples to showcase what to do (and equally importantly, what not to do!) when designing software. Favorite quote from the book: Be conservative in what you do; be liberal in what you accept from others. (As in, put users through as little cognitive load as possible to get the info you need, and be mindful to design the system to be flexible to accept various inputs and user errors!) Other concepts such as progressive onboarding, peak-end, and optimistic UI are worthy of entire discussions in themselves. Truly a quick read packed with enormous insights into a topic underappreciated by most computer scientists during their studies! It has been very informative in guiding me and our tech team through designing our industry-leading elder care technology platform at CareYaya!
Computer Science Distilled by Wladston Ferreira Filho
This product was recommended by Shakir Malik from The Life Hype
For someone who prefers to learn on their own, this is a must-have book, especially if you are learning it out of passion rather than just for academics. The book will walk you through computer science concepts you should know to solve computational problems. Whether you’re a beginner or an advanced programmer, you’ll learn the fundamentals of programming languages. With visuals and satire, the author does a good job of explaining the complexities. Best of all? You don’t have to have a background in Computer Science—just a passion for the field is enough.
Learn CS Concepts with Scratch by Abhay B Joshi
This product was recommended by Reza Khalaf Chabavi from Savis Game
This book is perfect for students who are keen to learn CS concepts and have no prior programming background. In addition to learning a lot of Computer Science concepts, you will do a series of interesting projects and programming activities. You will work on a few big projects, and you will also write many small “practice programs”. You will learn and apply concepts of computer programming and computer science when you write these programs. Scratch language: The choice of programming language is critical to achieve the intended objectives of teaching CS to beginners.
Programming with Scala by Bhim P. Upadhyaya
This product was recommended by Reza Khalaf Chabavi from Savis Game
This reader-friendly textbook presents a concise and easy to follow introduction to Scala. Scala is an ideal first programming language, which permits programming in multiple paradigms, and enables developers to be more productive with modern computing infrastructures such as distributed environments.
Handbook of Data Structures and Applications by Dinesh P. Mehta
This product was recommended by Reza Khalaf Chabavi from Savis Game
The Handbook of Data Structures and Applications was first published over a decade ago. This second edition aims to update the first by focusing on areas of research in data structures that have seen significant progress. While the discipline of data structures has not matured as rapidly as other areas of computer science, the book aims to update those areas that have seen advances
Computational Thinking for the Modern Problem Solver by David Riley
This product was recommended by Reza Khalaf Chabavi from Savis Game
Through examples and analogies, Computational Thinking for the Modern Problem Solver introduces computational thinking as part of an introductory computing course and shows how computer science concepts are applicable to other fields. It keeps the material accessible and relevant to noncomputer science majors. With numerous color figures, this classroom-tested book focuses on both foundational computer science concepts and engineering topics.
Cryptography Made Simple by Nigel Smart
This product was recommended by Reza Khalaf Chabavi from Savis Game
In this introductory textbook the author explains the key topics in cryptography. He takes a modern approach, where defining what is meant by secure is as important as creating something that achieves that goal, and security definitions are central to the discussion throughout.The author balances a largely non-rigorous style ― many proofs are sketched only ― with appropriate formality and depth.