**Office Hours with Arvind Devaraj , IISc**

**Revision Strategies for topics in GATE Computer Science**

**Bangalore , Jan 14-2017 (Saturday) 6 pm**

I will be presenting a short introduction to data structures and having a general discssion about gate, life at IISc, MS vs MTech and any CS topic of interest to audience. (check my blog to get idea of topics to expect)

**Venue**: Commune Coworks (near Nagarjuna restaurant), Koramangala 5th block

**Map** : https://goo.gl/maps/szmd7fP9TG82

**Bio**: Arvind completed his Masters from IISc, CSA department. Secured AIR 7 in GATE. Worked as senior software engineer at NVIDIA and working on a web technology startup. Co-founded GATE CSE and blogs about computer science topics

**BLOG** : https://gatenotes.wordpress.com/

**Kindly register here : **https://goo.gl/forms/EHpZxRaODAEeppae2

**I will be giving overview of few computer science topics for GATE aspirants . This will be just a high level overview with some tips on revision. There won’t be detailed explanation or problem solving (so if you are in time crunch, you can skip this). The contents are based on this blog post**

This is what I think is required to crack GATE.

1>>Good technical knowledge

2>>Good understanding of Basic Concepts

3>>Ability to apply the knowledge and concepts on variety of problemsTo 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 theproblems 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 falseconvictions. And GATE has certain property that lot of Quesions 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.

DISCRETE MATHEMATICS

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.

ALGORITHMS

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

DATASTRUCTURES

• 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 toComputer Theory” By Daniel Cohen. The contents in this book are lucid. Also solving or atleast 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.

OPERATING SYSTEMS

Read this from following books:

1>>Operating System Concepts By Galvin et al.

2>>Stallings

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.

• Digital Design

Read “Digital Design” By morris mano [period].•

COMPUTER ARCHITECTURE

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 fromexercises they are very very important. I recommend you to read this subject after “Digital Design”.

• COMPUTER NETWORKS

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.

• C programming

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.

• 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.

Compiler Design

“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 youconfidence that you can actually solve GATE. You can read all the subjects given here you can skip one or two if you dont have much time But more important thing is to “MASTER”atleast 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