# Best Reference Books for GATE Computer Science & IT (2020)

One of the most popular entrance examinations for admissions to post-graduate science and technology programs in India, GATE or Graduate Aptitude Test in Engineering is also a passport for some of the most lucrative job opening, as several companies are using GATE scores for attracting the best talents. No wonder, every year thousands of engineers appear in GATE.

GATE is conducted once in a year and there are 23 subjects of Engineering in which it is available. It is an Online Computer Based Test (OCBT). Its scores are valid for three years.

Preparation for GATE should start from the 5th semester itself so that there is plenty of time for revision. Give your undivided attention to class lectures. You can use the vacation period, from May to July to your advantage. This can be the starting period for serious preparation. Having a discipline and systematic approach and few hours of preparation everyday will make you sail through GATE.

GATE is a numerical based exam, so more practice will fetch good marks. It requires continuous study and revision. Practicing numerical problem from previous year papers and mock test papers is very useful. Study and analyze previous years GATE papers, so that you get an idea about the topics from which most questions are asked; or which get more weightage from the examination point of view.

Here is the section wise GATE syllabus of Computer Science and Information Technology examination, along with recommended books to study. Although some topics may have more questions than others; it is always better to cover the complete syllabus to get highest possible marks.

The syllabus consists of 10 sections. Here is a topic-wise run-down with recommended books.

**Section 1: Engineering Mathematics**

- Discrete Mathematics
- Linear Algebra
- Calculus
- Probability

**Recommended Books for ****Section 1: Engineering Mathematics**

**Page Contents**hide

- For this section, any popular book on mathematics can be studied. What is important is practice in solving the problems fast.
- 3. Advanced Engineering Mathematics by Erwin Kreyszig
- Section 2: Digital Logic
- This section also does not require any specific recommendation. However, to save your time and to make you familiar with the questions asked, the following books are recommended.
- 2. Computer Organization and Embedded systems by Carl Hamacher
- Both these books are popular and highly recommended for grasping the basic concepts. Hamacher’s book is especially recommended for Computer Organization, Pipelining and detailed treatment of Cache Memory.
- 3. Classic Data Structures by Debasis Samanta
- 2. Data Communications and Networking by Behrouz A. Forouzan : It is well recommended for its comprehensive coverage which covers all topics. It is especially strong on TCP/ IP header formats and the exercises given.
- 3. Computer Networks by Andrew S. Tanenbaum : This book is considered as one of the best as it is very interesting and presents all the concepts in a clear and lucid manner. It is the best book on data link layer, network layer, transport layer etc. It also has good number of problems and questions have been taken from this book in GATE.

### For this section, any popular book on mathematics can be studied. What is important is practice in solving the problems fast.

- Discrete Mathematics and Its Applications by Kenneth Rosen : This book is considered a classic for Discrete Mathematics and clears the concepts of combinatorics, graph theory up to Algorithms. It is a must-read book.
- Higher Engineering mathematics by B.S. Grewal

### 3. Advanced Engineering Mathematics by Erwin Kreyszig

### Section 2: Digital Logic

- Boolean algebra
- Combinational and sequential circuits
- Minimization
- Number representations and computer arithmetic (fixed and floating point)

**Recommended Books for ****Section 2: Digital Logic**

### This section also does not require any specific recommendation. However, to save your time and to make you familiar with the questions asked, the following books are recommended.

- Digital Design by Morris Mano : This book is considered the Bible for Digital Logic , and nothing else is required to be read for GATE, as it covers everything on Digital Logic.
- Digital Electronics by S. Salivahanan & S. Arivazhagan

**Section 3: Computer Organization and Architecture**

- Machine instructions and addressing modes
- ALU, data‐path and control unit
- Instruction pipelining
- Memory hierarchy: cache, main memory and secondary storage
- I/O interface (interrupt and DMA mode)

**Recommended books for ****Section 3: Computer Organization and Architecture**

- Computer Architecture : A Quantitative Approach by Hennessy and Patterson: This is a standard textbooks in IIT’s and very useful for GATE.

### 2. Computer Organization and Embedded systems by Carl Hamacher

### Both these books are popular and highly recommended for grasping the basic concepts. Hamacher’s book is especially recommended for Computer Organization, Pipelining and detailed treatment of Cache Memory.

**Section 4: Programming and Data Structures**

- Programming in C
- Recursion
- Arrays, stacks, queues, linked lists, trees, binary search trees, binary heaps, graphs

**Recommended Books for ****Section 4: Programming and Data Structures**

- The C Programming Language by Dennis Richie : The author Dennis Ritchie is the inventor of C Programming language. No wonder this boom is highly rated for C Programming language; and is a must read and sufficient for GATE.
- Data Structures Using C by Tenenbaum : For Data Structure, this book is considered the bible and features on every IT students bookshelf. It covers all topics in the syllabus and much more. This is a must read for all GATE aspirants.

### 3. Classic Data Structures by Debasis Samanta

- The Art of Computer Programming by Donald E. Knuth (Volumes 1-4) : This book is considered the Bible of Computer Programming. Do not miss to read it. It will clear all your programming concepts.

**Section 5: Algorithms**

- Searching, sorting, hashing
- Asymptotic worst case time and space complexity
- Algorithm design techniques: greedy, dynamic programming and divide‐and‐conquer
- Graph search, minimum spanning trees, shortest paths

**Recommended Books for Section 5: Algorithms**

- Introduction to Algorithms by Cormen
- Data Structures & Algorithms by R.S. Salaria

**Section 6: Theory of Computation**

- Regular expressions and finite automata
- Context-free grammars and push-down automata
- Regular and context-free languages, pumping lemma
- Turing machines and undecidability

**Recommended books for Section 6: Theory of Computation**

- An Introduction to Formal Languages and Automata by Peter Linz :

This is considered the basic and essential book for Theory of Computation. It contains the basics and introduction to the theories of formal language and automata.

It helps students to focus only on the concepts and uses mathematical expression for better understanding. The language is easy to understand and the range of topics covered is wide. The book also contains plenty of problems in every chapter for you to work out.

**Section 7: Compiler Design**

- Lexical analysis, parsing, syntax-directed translation
- Runtime environments
- Intermediate code generation

**Recommended Books for Section 7: Compiler Design**

- Compilers: Principles, Techniques and Tools by Aho & Ullman : This is a good book for understanding the compiler concept and also contains excellent examples. It is highly recommended for GATE.
- Compiler Design in C by Allen I Holub

**Section 8: Operating System**

- Processes, threads, inter‐process communication, concurrency and synchronization
- Deadlock. CPU scheduling
- Memory management and virtual memory.
- File systems

**Recommended Books for Section 8: Operating System**

- Operating System Concepts by Galvin : This is considered to be an easy to understand and interesting book, which covers the entire syllabus. It is considered the best book on Operating System and concept like scheduling, synchronization, memory management etc. are ell explained.
- Modern Operating System by Andrew Tanenbaum : This is a highly recommended book for Operating Systems and contains great number of problems. Many of the problems have featured in GATE examination.
- Operating Systems by Stallings : This book has good sets of problems especially on memory management and virtual memory. Solving these would put you in good stead in GATE.

**Section 9: Databases**

- ER‐model
- Relational model: relational algebra, tuple calculus, SQL
- Integrity constraints, normal forms
- File organization, indexing (e.g., B and B+ trees)
- Transactions and concurrency control

**Recommended books for Section 9: Databases**

- Database System Concepts by Henry. F. Korth : This is a standard textbook and covers the Database concepts well and covers the GATE syllabus well. It provides good examples for ER model, Normalization, Transactions and SQL.
- Normalization and indexing by Shamkant B. Navathe : This is a very popular book and it covers the entire topics on Databases. It is extremely good for Transaction management and Normalization, ER – diagrams, File structures and SQL.
- Database Management Systems by Raghu Ramakrishnan ; This book is adequate for physical database organisatio, SQL etc. illustrated with good exercises and examples.

**Section 10: Computer Networks**

- Concept of layering
- LAN technologies (Ethernet)
- Flow and error control techniques, switching
- IPv4/IPv6, routers and routing algorithms (distance vector, link state)
- TCP/UDP and sockets, congestion control
- Application layer protocols (DNS, SMTP, POP, FTP, HTTP)
- Basics of Wi-Fi
- Network security: authentication, basics of public key and private key cryptography, digital signatures and certificates, firewalls

**Recommended Books for ****Section 10: Computer Networks**

- Computer Networking: A Top-Down Approach by Kurose & Ross : This popular book is highly recommended for GATE, as it is excellent for clearing the basic concepts. It explains application protocols and the Internet extremely well.

### 2. Data Communications and Networking by Behrouz A. Forouzan : It is well recommended for its comprehensive coverage which covers all topics. It is especially strong on TCP/ IP header formats and the exercises given.

### 3. Computer Networks by Andrew S. Tanenbaum : This book is considered as one of the best as it is very interesting and presents all the concepts in a clear and lucid manner. It is the best book on data link layer, network layer, transport layer etc. It also has good number of problems and questions have been taken from this book in GATE.

These books are sufficient for preparation for GATE. It is advisable not to go for too many books as it will not give the returns in terms of marks as compared to the time and effort spent on reading those books.