Thursday, November 30, 2017

Don't settle for any less!

How many of you dream of a job in a reputed software firm with a huge compensation? Everyone. But if you ever attempted, even the preliminary rounds of such a company, you might already know how hard it is to crack the tests and the interviews with just the knowledge from the college. Well, most of the colleges (IITs or other premium colleges are a different story). Many of us are already victims of the substandard syllabus in B.Tech, and the huge gap between education and industry, created by it.

I said us. Yes, I was there too. 

Last year of B.Tech, we had a Microsoft All India Drive. Got short-listed after many rounds and we, around 60 people, survived from thousands. Only 4 interviews stood between me and the job. Needless to say, I was thrown out after 2 rounds. With the programming culture of 'if there is output, that's a big deal' that I learned from college, I couldn't survive a sudden jump to 'can you make it more efficient? with lesser time complexity' sort of questions.

I got a decent 3 year gap from that time till last year of M.Tech, to learn competitive coding. That's when I started to know complex data structures, several useful libraries in C++ and investing time in HackerRank and CodeChef. I still have lot to learn in this area; but that was enough to crack Microsoft interviews at campus placement. Now I work in the same company, even the very same building that I was interviewed. :)

Now I see the big picture. On one hand, there are lots of students pursuing B.Tech and M.Tech who have not-any-less IQ, but just lack the knowledge of efficient programming. On the other hand, there is huge requirement of more and more smart people in the software industry. It's not just one company; every one is recruiting big time. And all they ask is a bunch of competitive coding questions.

I'm starting a small initiative from my side, to ramp up the students who have no idea about competitive coding, to a level where they can grow themselves.

First video: https://www.youtube.com/watch?v=IsVde5Xpg5A

You can get a full-fledged course with assignments, Evaluation with personal guidance, and related programs written in C++.

Drop a mail to admin@codingacademy.co.in for fee structure and more details. Visit http://codingacademy.co.in

Saturday, September 26, 2015

[YAGP] Yet Another Gate Post

This post contains only FAQs.

FAQs:


Q: Why there is a second Gate Post? (probable FAQ in future)
A: Well, according to the stats of my blog, nobody even remotely care about any other blog posts, other than the one with Gate experience.  So yea, why not another gate post?

Q: If I’m working/studying, can I prepare for gate with/without coaching?
A: Sure. Spend a couple of hours everyday, you are there.

Q: Some Gate tips and tricks?
A:
  1. if 'all of the above’ is an option, go for it. It’s almost always the answer if it’s there. I don’t know why.
  2. Ǝ (X → Y) doesn’t match with any normal english sentence. So eliminate the options in that form, if asked to convert an English sentence to a predicate sentence.
  3. If a question from limits (calculus) is asked, evaluate the equation with a really small / large number if x → 0 or x → ∞ respectively, in a calculator. For all other "x → val" format, check for both left and right limits (val - λ & val + λ where λ is really small). Most probably you will get an answer close to one of the options.

(contribute more in the comments)

Q: Are Ravindrababu Ravula’s videos any good?
A: As far as I’ve seen, yes.

Q: How should I prepare for Gate?
A: Like I said in my first Gate post, try solving all Gate problems from 2002. cross check the answer with Ankur Gupta’s website, search an explanation for that particular answer.

Q: This time it’s "institute - X" conducting Gate. Does it make a difference?
A: I don’t think so. More than that, if it’s tough, it’s tough for everybody.

Q: How much luck matters in Gate?
A: Some. When you build your concepts more clear, you are moving up to a better range of ranks. I would say the top 200 people in any Gate exam got almost equal level of intelligence. But the intensity of preparation and some luck played the rest. But considering the fact that there is a solid 1 or 2 marks margin in between the single digit ranks, but a 1 mark costs 100s in 4 digit ranks, I would say the more you prepare, the less luck plays.

Q: What is the best gate institute in "city-X” ?
A: No idea. I’ve done coaching only once, in Ace Hyderabad. It was good, and I recommend it.


(again, contribute to the question set)

Tuesday, July 8, 2014

How I Cracked The GATE

    

UPDATE: Need some Career advise? Thinking to be successful? Check my new blogpost here.


   Many people want to know how they are supposed to prepare and crack the GATE Exam. It's actually up to you, completely. If you believe that your strategy will work out, you should go through it. My sole purpose to write this blog is to help the students who have no idea about preparation. Which is why I'm talking about 'how I cracked the GATE' , not 'how you should crack GATE'.

    I'm Dheeraj Ram, GATE 2014 AIR 8 in CSIT with a score of 1000 ( normalised mark 74.15 out of 100 ). I did gate coaching from Ace academy, Hyderabad. I'm about to join ME in CSA from IISc, Bangalore. I did my B.Tech in Computer Science and Engineering from FISAT Engineering college, Kerala.

    I used to think why people just "show off" by writing blogs when they get some good rank. Can't they just keep quiet? Seriously I didn't know how it feels like but, now I do. Your Facebook friends count gets doubled or tripled , you get lot of messages saying " I'm going to appear for gate Exam, tips and tricks please. ", and more than anything else, you will get tons of awards, appreciations and surprise gifts and a glorious life ahead. Now it's better to put things together so that I can answer with just a link.

I'm talking about GATE preparations only from the perspective of Computer Science.

Things you should do during Engineering Degree

    This is a typical scenario in a college: You don't need to study the whole semester to pass the university exam; you just need to do it a couple of days before exam. It's even worse for me, I just study only the night before exam. And it's not a study process: it's by-hearting the syllabus, all technical words in it, diagrams and while writing the exam, make sure you maintain the structure of headings, sub-headings, diagrams but the content will be your own made-up story. That's ever worked out in my case. Even if you really don't know about question, you can get marks by writing in and around things. But gate never works that way. Only consistent study will improve gate score. You should prioritise your subjects, learn concepts which you should do for a really long time, and solve previous year gate questions.

    While you pursue your degree course, almost all teaching faculties and parents strongly agree on something: if you study things hard, you get a good job or can go to good college to study further. Believe me, everybody lied. You study hard, you get a degree certificate with more percentage; nothing more. Actually you barely need to stand above the cut-off for placement or admission. IISc , the institute where I'm about to join, set a cut off of second class in Degree exam (specified by your university). But to crack gate with good score, you need your concepts clear, high level of logic and programming skills. Your marks in Engineering degree doesn't count here. This is why most of the toppers of gate Exam were merely average students in their degree course.

  1. Teachers: It's an important factor. If you are from an average college/university you know what I'm talking about. Let's admit the fact: some of our teachers used to say and try to convince things which are logically incorrect or doesn't make any sense. And there are teachers who used to write and teach programs which will never work if you put it in a computer. So the best thing you can do while pursuing Engineering degree is Not to believe any teacher. I know that I'm against the tradition or moral values of Indian culture saying teachers are equal to god or something. But when you pursue Engineering, the case is different. If you hear anything unbelievable, don't believe anything till you test it on a computer, read it in a standard textbook or verified by a reputed website, like stackoverflow.com
  2. Textbooks: Follow only standard textbooks written by foreign authors. Especially subjects common to gate Exam. In the end, I'll be referring textbooks that I followed. 
  3. Always be in touch with Latest Technologies: Your syllabus might be old, sometimes ancient. Back in the college days, we were asked to follow a textbook which says "current kernels are using non-preemptive scheduling", which was true long years back but not anymore. But gate generally follows latest editions of textbooks, so better follow them. Being updated with latest technologies doesn't seems to have a direct impact on gate sometimes, but it will improve your passion towards the subjects which matters a lot.
  4. Programming: Be part of any coding competition. Start solving programming challenges. It will improve your logic, creativity and knowledge. More you are exposed to programming, the better. If you lack in programming and logic, you need to put a lot of effort to qualify gate exam. This is the reason why most university toppers doesn't shine in gate exam where average students will qualify gate with little effort if they know programming. [ See Reference ]
  5. Attempt GATE Exam: Don't repeat gate without trying it in the last year of Engineering. Attempting it while you are studying has lot of advantages. You will get an experience, and you  can know what's your position among your competitors, and where did you make lots of mistakes. If you clear the exam with little or no preparation, you can achieve a really good rank if you repeat GATE with some coaching. I appeared gate in my last year without any preparation and got Rank #2355 with GATE Score 535. If you are lucky enough, you may not need to repeat. You can join the institute if it's satisfiable , without wasting an year.
  6. Put yourself above Second Class or eq.: You might need to mug-up some non technical subjects to pass the exams, but you should do it anyway. Because even if you get a really good rank still you may get rejected from some Institutes for higher studies, due to the cut-off set by them.

Things you should do after Engineering Degree

    Be sure about repeating GATE. If you had prepared really well for the exam still you didn't crack it, then repeating gate is not a good idea for you. Just to crack gate in CS doesn't cost more than common sense and basic knowledge in some Computer Science core subjects and Programming.
  1. Coaching: If you decide to repeat gate it's always better to take classroom coaching in any of the reputed gate Coaching centres like Ace academy or gateforum. It will help you to connect the dots. Otherwise you might not be able to find a link between a bunch of discrete topics.
  2. Make your own notes: Write down important formulas, common mistakes you used to make, and toughest questions etc. It seems like a waste of time but really useful while revising each topic at the very last. < My Note is attached in Reference >
  3. Never Overstudy: Especially if you are taking any coaching. The best thing you can do while coaching is listen to the classes, attempt the practice questions if anything given, make sure you get rest,be on a good diet, and have fun. If you study more than a quick revise while coaching time, it gives a false confidence that you know everything already and you will never know when you started to forget things. And it makes you aimless when you go home. After the coaching , 2-3 hours per day is really optimal to study( at least it was for me ). Make a schedule and stick to it.
  4. Deal with all subjects: There are subjects which has less contribution and has lot of topics to study and quite boring overall. Web Technology, Software Engineering, Compiler Design (some topics), TOC(some theory) and English belongs to this category. I won't ask you to study them with your complete mind. It's really hard to do also. Only thing you need to do in such lectures is that, just hear the lectures till you find anything interesting. Sometimes faculty might say "This topic is interesting, and really important in this subject, and more of mathematics". In such situations I could listen because I wasn't really listening before. Instead, if you plan to listen the whole lecture, you might fed up with it in first 20 mins and then you might miss the whole things even if it contains interesting things.
  5. Be a teacher: It helped me a lot. Once you encounter with a situation where you perfectly understood a concept where majority didn't ( in a class ), you can try to explain things. And it's a self-feeding process. Once you become a teacher, more people will ask you doubts and you will spend time on knowing things and will improve your knowledge really well, and as you can answer their questions you get more questions from them. Only thing you need to do is never say "I don't know", but say "I'll work out and let you know" and do it. When I studied according to my schedule, it would be only a 3-4 topics in a subject per day as I had around 3 months of time after coaching. But I was also in touch with almost all other subjects as I used to get tons of questions from my friends through whatsapp and Facebook messenger. After the exam I had to delete around 200+ snaps which were questions that we discussed online.
  6. Solve Prev. Year GATE Questions: While covering each topic, make sure you can solve all the GATE questions asked so far. It's possible only if you thoroughly know the concepts. When your favourite topics or subjects come, you just need to do the questions alone. [ See the references to get GATE previous year questions and solutions. Do not trust any other websites blindly ]
  7. Never Give up on any question: If you don't understand any gate question, do not go ahead till you get right explanation. I remember a couple of questions that corrected some major misbeliefs that I had. ( GATE 2005- question about fork(), and GATE 2008- question about number of bits required on levels of page tables were some of the life-changing questions for me. )
  8. Prioritise & Schedule: This is where I executed my plan very well. I made a schedule and stick to it. You better start with your favourite subject to avoid starting-trouble. Then cover medium-important subjects by solving previous gate questions and keep on making notes on them. After those mid-fielders, you should go to the super-important subjects with highest time contribution in your schedule.  Spend least time, but almost at the end of preparation days, schedule least important subjects. Then a quick revisit on important topics and previous year questions with the notes prepared will be ideal. For e.g.: if I had 50 days to prepare, this is what I'll do ( did something similar ). 
    1. Network+Security, DS , DBMS with 4 days each - make good detailed notes. [ 12 days ]
    2. TOC, PL with 2 days - with quick notes. [ 4 days ]
    3. Maths, CO, DAA, OS with 5 days each - make quick notes and formulas. [ 20 days ]
    4. Digital Logic, Compiler Design, and Aptitude with 1 day each ( no notes ) [ 3 days ]
    5. Software Engg and Web Technology in a single day (no notes) [ 1 day ]
    6. Solve previous year questions of subjects from (1),(2),(3) and revise the notes prepared with each subject a day.  [ 9 days ]
    7. Enjoy the 50th day. [ 1 day ]
  9. Try to work on your IQ/Logic: One of the brilliant faculties from Ace academy, named P J Sreenivasa Naidu told us this: if you work on your IQ there will be an improvement in our gate score. I took some tests and I even got customised advises based on the things I made wrong during IQ test. It will definitely help you to understand the question really fast and prevent making blunder mistakes.
  10. Stop studying couple of days before Exam: Gate is not something that you can bring any change to your future gate score by the preparation in the last day before exam. Because it's not about the by-hearted things. Ask my mom, I was playing Call of Duty 4 Multiplayer online on the day before exam. The note you might have prepared before, you can refer to it on the day of exam. DO NOT TRY TO STUDY ANYTHING ELSE.
  11. Write the exam with a calm mind: It's a tedious job to relax your mind; especially if you have repeated one full-year exclusively for gate. Because you have already spent time, effort and money and it's natural to expect something back. But being tensed will only makes it worse. If you feel the exam is tough, consider the fact that it's tough for everybody too. If you feel that a question is too simple, most probably you would have misinterpreted the question, or you haven't seen the hidden twist in the question yet. And of course, don't take chances for questions with negative marks penalty.
  12. Forget about the exam after the exam: Best thing you can do after the exam is not to think about the mistakes you made. I had attempted 63 out of 65 questions, and nobody was any close to it. Some mistakes I did in exam too made me nervous. But all of it was for nothing. So don't let those feelings haunt you.

References:

  • Websites:,

  • Textbooks:


    • I followed only 3 textbooks: OS Concepts - Galvin, Computer Networks - Kurose, Introduction to Algorithms - Cormen, and for the rest of the subjects, I followed classroom notes from Ace.  P.S: I had already read "The C programming Language" by K&R

  • GATE Subject wise weightage (Marks in 2014, 2013, 2012)
    • Note: There is absolutely no guarantee over the mark distribution. I've listed them according to my priority list. So you might need to revise the priority each year.