Which books to be studied in computer science engineering?
Hi Abhishek,
There are various subjects in Computer Science Engineering and most of them have multiple books throughout 4 years. The Choice of books also depends upon your way of understanding as some books are practical based and some are theoretical based.
Some of the good books for Computer Science students include-
1. Start learning CS with " Linear Algebra by Gibert Strang ". All the memory organization inside a computer is mathematically represented as a matrix.
2.
"Concrete Mathematics - A foundation for computer science, Graham, Knuth, Patashnik
"
3. "The design of Everyday things - Donald A Norman"
4. A must-have book for all programmers "
The C Programming language by Kernighan and Ritchie
" - Especially for Indian Universities, Please don't read from local authors. It's disturbing!
5. Book (4) can be supplemented by "
C: A Reference Manual - Samuel P. Harbison and Guy R. Steele
" and "
Expert C Programming: Deep C Secrets By Peter V. Linden
"
6. To know how the data is stored in a computer and its operation, have a copy of "
Introduction to Algorithms by Cormen
"
7. Now you know what is programming and how to program. Next, you can start knowing about what happens to my program after say gcc hello.c -o hello. That's where compilers will help. The best book according to me for compilers is "
Compilers: Principles, Techniques, and Tools
, Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman". Supplement this with Stanford University video lectures on Compilers and the GCC website.
8. After this, you need to know about the brain of the computer - the operating systems. I never suggest you to read the traditional approach to OS i.e. Galvin, tanenbaum, Stallings. Try a new approach. Learn what is a "Kernel" first. Download the source code of the Linux kernel. Take the help of "
Linux Kernel Development by Robert Love
" Build the source code, make changes, build again, write your own code, build again. See the miracle! You may Supplement this with any standard books on OS for a broader view of OS.
9. What does all the code and OS run on? It's hardware. So have a copy of "
Computer Architecture - A quantitative approach by Patterson and Hennessey
". Supplement these online lectures in Coursera on CA for better understanding.
10. A classic book on Database systems is by Navathe.
11. Networking fans Please don't start with Tanenbaum. If you are good in C, Please use the book "
Unix Network Programming by Richard Stevens
"
12. Embedded system guys can start with "
An embedded software primer by David E Simon
"
13.
"Thinking in Java by Bruce Eckel
"
14. For all the upcoming topics in CS such as Cloud computing, Machine learning, Data Analysis, Internet of things, and others. Google is the best source of information.
Hope it was useful to you.
Feel free to contact us for any queries.
All the best :)