top of page
  • Writer's pictureAbhijeet Srivastav

Books To Deepen Your Root In Computer Science!



Lets face it no one knows everything. Its even not possible to know everything and that is the beautiful thing about life which make it interesting.


Everyone began their journey with scratch, an empty canvas!


I hope you have memories of the days of your life when you seen programming for the first time and thought, WTF!!


I know my struggle when i started learning c and micro controllers , that made me mad!


In this post i am suggesting my favorite books which i studied to make my knowledge more deep in the field of Computer engineering an i suggest these books to anyone from 'NOOB TO PRO'.


Have a look at them.


1. The Algorithm Design Manual by Steven Skiena


Steven has more than 30 years of experience in computer science and is a distinguished professor at Stony Brook University.

He wrote this book, keeping one simple philosophy in mind: every sound programmer should be able to use and extend already-developed efficient algorithms in their projects when the beef arrives.

Steven reflects on the fact that most of the programmers around the world lose touch with algorithm study as they indulge themselves in the corporate world.

This prohibits them from applying these available algorithms, practically in their projects, and end-up using inefficient, brute force solutions to otherwise trivial problems.

This book covers topics like big-O complexities, tree data structures, searching and sorting, graphs, dynamic programming, and much more.

Part 2 of this book brings a reference to various algorithms and data structures widely in use today and can help you quickly search for an algorithm to tackle problems while programming.

Explore full table of contents


2. Designing Data-Intensive Applications by Martin Kleppmann


Martin has been working with software for more than ten years. He has co-founded and sold a couple of startups and now he is working on distributed systems research.

I came to know about him last year when I was researching some approaches to implement distributed locking and found his analysis of Redlocks and interesting dialogue between Martin and the author of Redlocks.

In his book, he covers a lot of techniques and tools that came to light in the past decade and takes you deep into how they are implemented at their core, points you to the very first research papers written for those topics.

The book focuses on distributed systems and various algorithms and systems developed to solve the problems with these systems.

I think this one is a must-read for you if you work with huge amounts of traffic and data.

This book might actually take a lot of time to complete if you try to understand the topics covered in-depth. So, I would suggest you take notes and try to go slow, maybe take a few months.



3. Applied Cryptography by Bruce Schneier


Most of you might already know Bruce from his famous blog, Schneier on Security. He is an experienced veteran in internet security and has written various books related to the topic.

I found this book when I wanted to learn about various cryptographic algorithms that I was going to use in my upcoming project. This book will cover most of the widely-used algorithms to secure exchanges your computer makes over the internet and the math behind those algorithms.

Privacy is a major concern now with increasing amounts of user data coming from your applications. Bruce provides advice on which algorithm will help you maintain your users’ privacy in the best way possible.

Explore the full table of contents.


4. Clean Code by Robert C. Martin A.K.A. Uncle Bob


Robert is quite famous among programmers due to his contributions to the Agile Manifesto and, secondly, due to this book itself.

Robert highlights, in this book, some key practices that benefit everyone, from the programmer to the manager. He lays the SOLID principle for designing flexible and agile code that requires the least modifications and is extendable to a great extent.

He highlights how requirements from stakeholders can change over time and a programmer needs to think one step ahead and provide that extendability to the code without having to change every single line of it.

I wish I had read it at the beginning of my career, but I just finished it last year. If you haven’t had the wisdom of Uncle Bob yet, you should, right now.

Explore the full table of contents.


5. The Linux Command Line by Willian Shots


Most of the development and deployment servers out there are based on Linux OS. So, it wouldn’t be wise to keep a Linux guide out of this discussion.

Even if you use a macOS, most of what you learn from this book will be applicable to you as well.

Willian has been working with Linux systems for over 15 years and in this book, he has tried to cover all the important topics that should feed 90% of the requirements of a programmer.

I had a course in college that taught me Linux command-line skills and that made my life so much easier when I joined my first company.

This book will cover topics for beginners, like navigating between directories, writing advanced shell scripts, and automating stuff. It goes through permissions, regular expressions, file searching, networking, and a lot more.

Explore the full table of contents.


Conclusion

I think this pandemic time is best to study these books and you don't need to go out and purchase them just go with the PDF versions and utilize your lock down!



 
0 views0 comments

Recent Posts

See All
bottom of page