My Background

During my 11th-12th I studied in a school where there were no one preparing for JEE. Everyone just wanted to get into some local engineering college. Best scenario possible was getting into some private college with tuition-fee-waiver. If one cannot make it into some engineering college then he/she would join BSc or something. That’s what our teachers told us. I didn’t know what’s the difference between IITs and local colleges is. Actually, at the time of solving MCQs from books we skipped the question if it had been asked in previous JEE papers :). That was the scenario. I really find it very frustrating sometime that I didn’t even recognized difference between premier institution and some very creep institutions. Every one of us just believed that JEE is not for us. We didn’t even think of it at first place.

Now, I got into some local private college based on my performance in state board exam. That’s what I could best dream of during those days. At that time, I was actually very happy that I was able to get into an engineering college on full tuition fee waiver.  I thought that there would not be any problem if faculties would not be good, I would work very hard and would get into wherever I want to. Btw best job I could think of after college at that time was engineer in some local company providing 27k Rs/month. Nothing more than that.

But after entering college, scenario was very different. I started using Quora, started surfing internet to learn things in CSE and then I got to know that what my faculties used to teach me during classes was very poor education if not wrong. I came to realize that it really matters in which college you are. I started hating my college ******* hardly. I didn’t like anything about it. They were focusing mostly on discipline rather than engineering (Because most people didn’t know engineering I think). Focus was not on deep understanding of concept but rather on discipline. You would feel outlier if you are discussing some programming problem in class room. That was the situation. Faculty would take interest in gossips with students and another faculty member. If you would ask some technical question then there would be very little chance that faculty would be able to answer it. (Here I must mention that there were some very good faculties too. But those were very rare.)

Now, one day I came across this question on Quora about local college CSE grad vs IIT CSE grad. That seeded the thought of getting into IITs someday in future. Then that thought became stronger and stronger with time. At that time, I was also actively participating in coding competition at CodeChef which helped me to build quite a good foundation of problem-solving ability. Which would eventually help in my GATE preparation in future (preparation for which I had not even thought about at that time). I wanted to go to google when I entered into college and that idea was because of my friend Milan. He knew about it and he used to tell me that never let your dream die ever. So, I just knew that I wanted to get into Google somehow. So that was which got me started with competitive coding (Btw if you talk about competitive coding to someone from my college there are 95% chances that he/she will not even aware about it).

Now, as 2nd year of college ended, I started to think about what next. I had option to go for TCS (Companies like this one is a best case for a student in our college. But I would be able to get into that though CodeVita competition. Which I think is not up to the mark of course, but It can get you hired easily in TCS). But I did not want to get into such a service company. I wanted to do some really interesting work. So here comes GATE into my mind. I searched strategies to prepare for GATE. I used to read blogs by toppers a lot. And I came across Gate Overflow.  I downloaded the GO pdf 2016. I used to read some questions on algorithms, programming, DS while I was free to figure out what type of questions get asked in GATE. And to my surprise I was able to answer algorithm and DS-programming related question quite accurately. So, that was my starter block. In start I didn’t thought about other subjects much. I thought I would be able to manage them if I give them a try. Actually, being good (at least that’s what I used to think during those days) in competitive coding gave me confidence that I can perform well in GATE.

Now, here comes a break. During beginning of 6th semester, I started my GATE preparation on full swing just to realize that I can’t just do it with full pressure of college which requires virtually 100% attendance. Yes, you read it right 😊. The rules at my college was such a ******* strict that they required around 2 breaks of time just to complete the formalities of getting leave application signed. If you are not having leave acknowledgement slip you would have to stand 2hrs in lab and zero marks in experiment and after all this nonsense you are still left with pending task of getting same ******* leave application.  --- I also could not study after college because I felt exhausted after returning from college. In short, I could not continue my preparation in such a college. So, I decided to quit (probably delayed) my preparation.

Then during 7th semester, I got offer from TCS through CodeVita. But after discussing with my father I decided to not joining it and give GATE one another try as fulltime aspirant. I used to do programming whole day at my house during my early years in college. So, habit developed for concentrating for longer period of time helped me a lot in preparation. This preparation started around December-2018. I started with Discrete-Math. Here some blogs by arjun sir has literally made me obsessed with standard books and resources. So mostly I used standard books during my preparation. I gave GATE-2019 CSE with little expectation of just qualifying. And to my surprise I got 42.33 marks with rank about 5050.


My Strategy

Before starting preparation for 2020 I already was quite familiar with what to study and what works and what not as I have given GATE-2019(However I didn’t prepare well for that). Now there were some subject completely new to me as I was from IT branch which does not have TOC and Compilers in syllabus (at least not in my college).

I started with Discrete math. For This I used book by Kenneth Rosen. I used to solve most exercise problems as I focused on improving my problem-solving ability rather than just mugging up formulas and concepts. I believe that exercises are really an important part in learning most things. Now here some exercise in standard books are outside of scope of gate syllabus. But at starting phase of my preparation I had time to do that. So, during my early preparation I tend to solve most exercise problems.

Then I picked up TOC.  I used book by Peter Linz for this along with video lectures by Sai Simonson (He made most concepts really obvious. He is such a great professor). This subject was complete alien to me before I started. (I also read starting few pages of book during my previous preparation to find out that I just could not cope up with material in that book) I kept my pace slow. I used to read a concept and imagine it visually as much as possible. I tend to explore various possible corner cases. I just fixed that I will give this subject 30 days (which is relatively longer) if I have to but I will excel in this. I used to watch video lectures by Sai Simonson then read a concept and then solve corresponding exercises in book. And to my surprise the subject which I thought I would not like became one of my favorite subjects.

Then came compilers. I thought I would try to implement compiler in this subject as I had time. But It turned out lot of work😊. I find Ullman book quite hard to follow. But it is better than other resources.  For compiler questions related to parsers I used to read answers on Stack Exchange for hours. This subject raised some really interesting questions. I particularly enjoyed those questions.

Then came digital logic and COA. I used Morris Mono and Carl Hemacher respectively.

Now at this stage I was solving some of the exercises only. Not all. I felt my interest in solving exercises has decreased. But I think most aspirants would find decreased interest in midway and where they would probably quit. But remember that finishing a race is prerequisite for winning it. To be a topper you at least have to finish your preparation😊.  So, I used to continue with my study even if I find decreased interest in some of the subjects. Things would be well with time (If you lack command in some subject it is not a good idea to quit preparation overthinking about it. Do your best possible at the moment. Then come back to that subject after few days.) 

Now mostly following this strategy I finished all the subjects from standard resources. I also made my notes which I used hell lot of time to revise from. I used to revise subject on weekends in round-robin fashion (suggested by Shaik Masthan).  I also solved subject wise question from GO pdf once a subject got finished.

Then once syllabus got completed, I started attending mocks. I was getting marks in range of 65 to 70 in first stage. Then during second stage my marks increased to 65 to 75. Then in third stage I got 80+ in some tests and 73+ in most tests. (These all marks are corrected marks means if some question was incorrect then I find out whose mistake it actually was - Mine or test-series mistake - and I would update my marks accordingly.)  Here I joined test series from various institutions and also found tests by mentors on GO quite well as they didn’t have much mistakes in question.

Now for test series part I would suggest that don’t get bothered much by lower test scores. Just do the best that’s possible at the moment and continue with your preparation.

Now, for those who are afraid of competition remember that your competition is not with fellow aspirants. You just have to do better than some extent and chances for you getting a good rank is much better. Because fellow aspirants are also a human. They are not some super-human kind (Maybe there might be one or two but it does not really matter 😊). You just have to train yourself such that you can get 70+ in average GATE paper. (Again, I said average GATE paper. By this I want to say that you should be having such a level of understanding that you can get 70+ in average GATE paper.)  If you can do that than chances are pretty good that you would get a good rank. So, just target to become damn good at subjects instead of targeting to get under 100 rank out of 100000 students.


My result

I got AIR 12 in GATE CSE -2020.



            I heartily thanks to Arjun Suresh sir. If he has not created this platform I would probably never had prepared for GATE and had joined TCS instead😊. His blogs made me such a student which mostly looks for in-depth understanding.

          I thank to Shaik Masthan for being active participant at

          Then I thanks to those volunteers at GO who freely gives their mostly scarce time for GATE aspirants.

          There are also many fellow aspirants whose questions on taught me a lot. So, I’m really thankful to them😊.

posted in 2020 Mar 15, 2020



Your answers on csedoubts were really insightful, thanks for sharing your knowledge with everyone.

Best of luck for your future, I am sure you'll do well :)
Congratulations 😊 Hope to see you in IISc 👍
edited Mar 16, 2020 by
Thank you sir.

And thanks Gokul. :)
Congratulations :) 😊
Congratulations Vimal! Wishing you a bright future ahead! :)
Thanks anup, shaik mashtan, and rohith.
Congrats brother :)
Congo bro😊
Congrats bro. That was a massive jump from AIR 5050 to AIR 12.
hey congratulations for air 12 , i wanted to ask did you make cell for revision days and what you did each day acc to preparation strategy by Shaik Masthan sir , can you share that per day sheet with me to track the preparation :)

Thank you so much all of you.


I just kept track of last dates for each subject on which that has been revised. Then just pick a subject that has been revised long ago. And I fixed Sunday for revision. So every Sunday I would just pick a subject that needs to be revised as per list.