Subscribe to Rahul's Blog        RSS Feed
-----

5 books you must read to be a Computer Engineer

Icon 10 Comments
Everybody wants to be a computer engineer, which for most people boils down to - everyone wants to write code. However everybody wants to be a Perl'er or a PHP coder or a Java guy. But in all my years if there is one thing I have learnt about the field of computer engineering and/or programming is that not all problems can be solved by reading up the one book about the language you work in. You must have a holistic view of how computers operate, why they behave in certain ways and what is the underlying technology you're building upon.

Since a lot of people ask me about how to really learn computers (engineering) well, I've tried to compile a basic set of 5 books everyone must read. These are very important from a theory viewpoint, regardless of what kind of coding/testing you're into. Also I've tried to keep the list modern and does not contain some classics like Knuth's 'Art of Programming' simply because most people would shy away from the book after 5 pages (I did after 16 :P ). So without further ado, here's the list in no particular order,

Computer Organization by Hamacher, Vranesic & Zaky
An awesome text built with almost everyone in mind. It'll give you a great insight into what really goes on in the hardware of your humming machine. The chapter on Memory Systems is especially recommended.

Concepts of Programming Languages by Robert W. Sebesta
A must-must-must read for every coder. If you don't get the underlying concept, how will you ever code like a pro :D . The chapter on Functional Languages is one of the most clear and lucid ones I've ever read.

Operating System Concepts by Silberschatz, Galvin & Gagne
Gem of a book. This classic text has long been regarded as the first and de-facto book for any systems guy. One thorough reading will give you a great insight into how modern operating systems are designed and what are the challenges in it.

Fundamentals of Database Systems by Elmasri & Navathe
The best (imho) book on understanding how databases should be designed and used. Its a pretty detailed book, and you'll learn a lot of concepts going through it. Did ya know there is Calculus in DBMS? :P (Tuple Relational I mean)

Computer Networks by Andrew S. Tanenbaum
Perhaps the most famous book on the list and definitely a must-read. Since networks form such a huge part of everyday computing, this is an essential guide - and also one of the most comprehensive ones. Teaches you everything from the OSI model, TCP/IP, WWW etc. etc.

10 Comments On This Entry

  • (2 Pages)
  • +
  • 1
  • 2

skyhawk133 Icon

17 July 2007 - 08:22 AM
Great info! Vote for it on DZone: http://www.dzone.com...r_engineer.html
0

Amadeus Icon

17 July 2007 - 10:29 AM
Excellent topic. I am a computer engineer, and have been for a while. I've read a few of those, and they were excellent. I would also add the following:

http://en.wikipedia....es%2C_and_Tools

or the original

http://en.wikipedia....Compiler_Design

When I was in school, we had to build a few compilers: If you can understand how to build a compiler, you are well on your way to being a successful computer engineer.
0

rahulbatra Icon

17 July 2007 - 12:45 PM
Thanks Chris for the submission to DZone. :)

And great suggestions there Amadeus. I'd agree with you in them being top-notch. :^: Especially the latter (the Dragon Book by Aho, Ullman and Sethi)
0

rockstar_ Icon

17 July 2007 - 04:29 PM
Wow, I'm 4 out of 5... These books are a great reference. I've been going through a series of interviews with Google recently, and having felt cheated now by my official schooling, I've been studying my tail off between interviews. Before I started reading books like these, I never would've stood a chance. I've been writing code for 13 years, but only in the last 4 years have I decided to sit down and go through what it actually takes to "be an engineer," and not just a "perler" or a "PHPer" It's been tough, but it pays off. I also agree with your "implied" statement about needing to understand a functional language (if you weren't implying that, sorry...) I picked up Scheme, and all of those algorithms that I had memorized in C seemed to make complete sense. Learning an ALGO language helped me to really grasp computer algorithms, and start to learn my own.
0

max302 Icon

19 July 2007 - 07:10 PM
Fuck dzone, im digging this shit right the fuck right now.

Great list. I'm getting all 5 books by next week.

I just can't imagine the numbers of wannabe coders that you just helped by putting this list up. Thank you very much.
0
  • (2 Pages)
  • +
  • 1
  • 2

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

Search My Blog

Recent Entries

Recent Comments

My Picture