This is what I think is required to crack GATE.
Good technical knowledge
Good understanding of Basic Concepts
Ability to apply the knowledge and concepts on variety of problems
To Develop 1 and 2 you will need to read and understand reference books, to develop 3 you will need to solve the problems. Now question is from where to get the problems or the MCQs, the answer is the problems are given at the back of every chapter in the reference books, you will need to solve those problems,may be not all of them. Problems reveal lot of truth and clear our misconception and false convictions. And GATE has certain property that lot of Questions in it are based on concepts that are revealed in certain problems in reference books. So its really really important to have a shot at the problems.
I started my preparation with discrete maths, and I would recommend you also to start with this perticular subject because this is the subject from where Computer Science spreads out. Understanding of this subject is very important. I used following books:
1>>"Discrete maths and its applications" By Kenneth Rosen
This is an excellent book for GATE preps. Lot of problems are given at the end of every chapter plus answers are also given to odd numbered exercises. The explaination in this book is really very good and "easy to understand". This book is must read for GATE preps.
2>>book by Tremblay and Manohar
I recommend you to read this book after you have read Rosen’s book. The contents in this book is hard to comprehend. You need to have your basics cleared before you attempt this book. This book is also a "must read". I also have the lecture notes on discrete maths from some prof at McGuire university the advanced counting and recurrence relation part is good.
I recommend to you to read this subject along with Discrete maths or after you have completed discrete maths. I used only one book for this subject and found that to be more than enough for GATE.
1>>"Introduction to Algorithms" By T.H.Cormen et al.
This is "THE" book for Algorithms. The Book is simply brilliant, it makes you understand every details of Algorithms. So this book is a must read. Although I did not read the entire thing. Here is the list of chapters that I had read. If you are interested of course you can read the entire book.
Chapter 1,2,3,4[excluding 4.4],6,7[excluding 7.3],8,10,11[excluding 11.5],12[excluding 12.4],18,22,23,24[excluding 24.4 and 24.5] for NP-Completeness you can read 34 also. In addition to this book I strongly recommend you to see the video lectures from MIT. The lectures are given by Lieserson[who BTW is also one of the authors of CLRS] and Erik demaine. The lectures are absolutely brilliant. You may download them from ocw.mit.edu
I did not read this subject exclusively. I mostly participated in discussions in Algorithms and datastructures communities on orkut . That is i think more than enough.
THEORETICAL COMPUTER SCIENCE
I initially tried to decipher Ullman’s book but I found the content too much for my brain to comprehend. So I switched to "Introduction to Computer Theory" By Daniel Cohen. The contents in this book are lucid. Also solving or at least attempting the problems in the exercises is a must. But its really great if you could read Ullman.
DATABASE MANAGEMENT SYSTEMS
I used Korth and Navathe for this. Initially I read korth because it is lucid and then only for normalization i read Navathe. The database design part in korth is difficult so read this part with utmost concentration and you may require several readings before you begin to understand things.
Read this from following books:
1 >>Operating System Concepts By Galvin et al.
Attempt problems in Stallings they are very important especially problems on memory management and virtual memory. In Galvin the theory on memory management is excellent.
Read "Digital Design" By morris mano [period].•
Read this from following books
1>>"Computer Architecture" By Morris mano
2>>"Computer Organization" By Zacky,hamacher
3>>"Computer Organization Hardware/Software Interface" By
Hennessey and Patterson
Read book 1 almost completely then read memory system from book 2 then you can read book 3, I had read only the performance measurement chapter from book
3 as it is not given in any other book and also solve numericals from exercises they are very very important. I recommend you to read this subject after "Digital Design".
I had read this subject only from forouzan and had read some chapters from Comer’s book. Attempt the exercises from forouzan they are important.
You read this from "the C programming language" by kernighan and Ritchie that is more than enough plus spend some time in actually programming in C that is the best way you can learn C.
I dont know C++ much and I did not read anything for C++. Dont be spoiled, you can read C++ complete reference if you wish to.
Did not read this subject at all. "People" say Ullman’s book is excellent so you can read it from Ullman if you believe "People". In the final phase of your preps "try" to solve GATE papers. The answers for the GATE papers are not present anywhere but still you should attempt them anyway. This will give you confidence that you can actually solve GATE. You can read all the subjects given here you can skip one or two if you don't have much time But more important thing is to "MASTER"at least 2 or 3 subjects. Also actively participate in discussions at GATE CS or GATE CS/IT 2009 and Algorithms and Datastructures community in orkut.com that helps alot in patching few loopholes in our concepts and enhancing your problem solving skills. Thats it guys,this much is I think enough to crack GATE. You can ofcourse
Device your own methods and set of books. Just be confident you can do it! These are few URLs
Which I think "might" be helpful
1>>Opencourseware at MIT
2>>Lots of computer science resources and e-books at >>>>>>esnips
18,595 total views, 3 views today