
The man who does not read has no advantage over the man who cannot read [Mark Twain] .Learning programming using an online tutorial is like taking a picture you clicked and that’s the end of it.
Learning to program with books is like creating a beautiful painting, you
layer and layer on it and keep doing it for weeks. You might still have the
same image at the end but there’s going to be a depth to it.
We know that we live in a world where everyone want’s fast results. Watching online tutorials might seem easiest way to learn programming, but the quality of outcomes that you get with books cannot be matched by online tutorials.
You can go much deeper with books than you can by using any other way.
Additionally, on an actual job you would not have any video tutorials to
help you. You will have to read the documentation and implement things by
yourself.
So, building a habit to read and understand technical stuff is a must to
have a good career as a programmer. That’s why today we are going to give
you 5 practical books to get started with. For some of the books I’ll
provide you the links to YouTube videos that you can watch in case you get
stuck.
So, without a further do let’s get started with the
Books that every computer science student should read

Python Crash Course
If you want to learn python by building cool projects check out this book called “Python Crash Course ".
First half of the book deals with basics like
variable, conditionals, loops and functions etc. But the real magic happens in the second part of the book where you build
projects.
You will be using
PyGame package to build
“Alien Invasion Game”. How does
that sound for your first project?
You will be able to shoot down Alien fleet and also have a score board to
list the high scores.

In the last project you will “Build web app with Django” which is a very popular python web framework. You will also learn how to style your app using Bootstrap, which is a very popular CSS framework.
The video guide of this book is also present on youtube.
Eloquent JavaScript
Next, we have a great recommendation for the web development folks out there. If you want to have deep understanding of JavaScript try this book called “Eloquent JavaScript”.

In the first part of the book, you will learn the basics of JavaScript and
in the second part you will learn
“how JavaScript interacts with the browser”
and
“Document Object Model or DOM”.
And finally in the last part you will learn about “How to run JavaScript on the server” instead of the browser.
Unfortunately, there is no video guide on YouTube that covers the
entire book. I will link a playlist that covers the first 6 chapters of
the book. If enough people go and support the creator of the playlist we
hope that he will complete the playlist.
Eloquent JavaScript book online: Read Here
Eloquent JavaScript exercises: Visit Here
Video Guide : Watch Here
The Pragmatic Programmer
Next, we have a timeless classic “The Pragmatic Programmer”. The principles presented in this book are not tied to any particular technology or programming language. This makes them applicable even today, though the book was published long time back in 1999.
The pragmatic programmer cover topics like “Debugging, Testing, Automation and Communication”. Providing a well-rounded perspective on what it takes to become an effective software developer.
It focuses on fundamental principles and best practices that can be applied in any programming context. The best part about this book is that clever metaphors and analogies it uses to explain complex technical concepts. For example it proposes the idea of “CODE KATA”. The word KATA means FORM in Japanese. It is often used to describe the repetition of certain motions in karate to reinforce learnings.
By doing CODE KATA exercises programmers can also reinforce there knowledge of Algorithms, Data Structures and Design patterns.

Whether you are a beginner or an experienced programmer this book has something for everyone and this makes it must read for anyone who is serious about honing their craft as a programmer.
So, you have learnt a couple of programming languages and have now become a pragmatic programmer.
Next, you need to know how to write Clean Code. For that, we have
another classic:
Clean Code
Another classic called “Clean Code” by Uncle Bob. The primary goal of clean code is to improve “readability and maintainability” of your code.
It teaches you how to write code that’s easy for other developers to understand, modify and extend. “Clean Code” discusses when and when not to use comments.
It encourages developers to write self-explanatory code instead of
relying heavily on comments. It also covers how to
name your variables, functions and classes. The book provides real-world examples to drive the point’s home.
Uncle Bob provides code snippets written in Java but you can easily apply the ideas to other languages.
The book also covers design principles like
“Single Responsibility principle and DRY”

The book does become too opinionated at times. So, you don’t have to
follow everything. But it’s still a great starting point to improve the
quality of your code.
If you want to go from a junior developer to a senior developer, you
have to start thinking beyond code. You need to know how to architect
your services in a way that they can reliably handle thousands of
simultaneous requests at the same time. For that, you should read:
Designing Data-Intensive Applications (DDIA)
It will teach you how to distribute your data to multiple machines if
your data becomes too large to fit in one machine.
While the book covers a lot of theory, it also provides practical
guidance on how to apply these concepts in real-world scenarios.
It does so by providing case studies on how big companies like
Google and Amazon handle their data.

DDIA also covers how emerging trends in data systems, like new databases and storage technologies.
If you want to learn how to make common trade-offs when building large applications, DDIA is a great read.
If you want to build a deeper understanding of concepts, books are the best way to do it.
No comments:
Please leave comments related to the content. All comments are highly moderated and visible upon approval.
Comment Shortcodes