First time here? Checkout the FAQ!

Masters is not very different from Bachelors but in India most students do Masters from IITs and there is a big gap to be filled from lower level college environment. Though GATE preparation is mostly enough a few extra stuffs might come handy during IIT life. 

  1. Get used to unix commands: I first started using linux only in second year of Masters and though I have used it ever since I still think 2 years early start would have helped me a lot. Somethings to try- 
    Install linux (ubuntu or mint or any other) either as dual boot (preferred) or as VM. If you have a credit card you can even get Amazon AWS free for 1 year (it is good). 
    Try running a process in background.
    Try ssh to/from another machine and run a process in background (cronjob, nohup etc. might be needed here). 
  2. B.Tech. level C/C++ skills is enough. But depending on how you did B.Tech. you might need to hone it. Try implementing graph traversals, AVL tree etc. in C and even try using STL in C++ for doing so. 
  3. Java might not be required for B.Tech, but if needed no one is going to send you for a Java coaching. It is actually a subset of C++ (Java is made to make C++ easier), and anyone coding in C++ must be able to use Java. Try some String algorithms in Java. Another use of Java is for programming interviews- it is much simpler (and faster) to use Java to write a code than with C/C++ and even in Google programming interview Java is preferred.
  4. $\LaTeX$ is a publishing tool which all CS students should have used. In IITs, it might be used for assignments, report submissions etc. So, try making your resume in Latex, convert your B.Tech. report to latex one etc. If you have used Mathjax on website (as in gateoverflow), it would be pretty simple. 
  5. Plotting is a needed research tool. There are many shortcoming with using Excel and trying to use gnuplot might come handy during Masters. 
  6. Data analysis is another demanding task- and trying some basic R commands- like finding mean, SD etc. is recommended. Trying Python might also be handy. 
  7. awk - is fun to use. Use it especially if you want to process a text file line by line. 
  8. Whatever you do an editor is important. Knowing commands of a smart editor like vim, emacs etc. can make your work more fun and easier. Using IDEs like Geany, Eclipse etc. are also highly useful as they will reduce many jobs in future.
  9. Being familiar with area specific tools- like installing LLVM if you are interested in Compilers, R language if you are interested in data analytic, making shared libraries if interested on system side, mastering regular expressions if working on text processing and similarly for other areas.
  10. If you are interested in system side, be familiar with gdb
  11. Any project would require versioning and being familiar with git is an added advantage. 
  12. For placements, aptitude- some companies ask CAT level questions - is required. Also, for big software companies, dynamic programming is important. Do practice some questions like sudoku solving using backtracking also. These questions can also help. 
  13. In most places, you will have time for deciding the area of work. Still, if you can find a suitable prof to work under early, it is a good thing. Otherwise also, you can do this in first year. 
posted Feb 29, 2016 in Others by Veteran (294,629 points)  
edited Mar 3, 2016 by | 7,630 views


Try to learn Regular Expressions. If you've studied TOC, this should come easy.

Also, if possible, start putting your code online. Personal projects, code you wrote for some competition or job, anything. Put it online for others to review. Embrace places like Github, they will serve as an invaluable portfolio!

Thanks @Arjun , for writing this blog post  in so short notice smiley

Few more non technical points which should be done ->

1. Try to read Academic rulebook of institutes from cover to cover (Of course if you are sure where you'll get admission) . It'll be helpful in knowing course structures, rules to follow, courses you can audit.It'll make you familiar with system of Institute which will help you in long run. You can easily see that even marking proxy second time has punishment of repeating course, so do not take your Undergrad habits for granted, it is time to change them laugh.After reading academic rule book you might want to go through scheme of instructions document which contains things in more details.

2. IIT's are very strict about plagarism of any kind. It is not your state universities where everything from copying assignments/codes/or anything else for matter was permitted (can we say Encouraged cheeky) Do get to know the penalties for doing that & decide to yourself you wont get into any issue knowingly/unknowingly (They are harsh !)

3. If you have not yet chosen the institute , go through institute broucher, department website you want to join, faculty profile, course structure, placement records & talk to seniors about institute. This will help you in choosing institute. Also do read rules of institute for admission , 

4. Decide your area into which you want to go & courses too , at least a broad outline. You won't be having lot of time to do that when you join the institute. In max 2 weeks after joining , you will be forced to choose your Master Training Program courses, better to have idea about everything up front.

5. Become expert in all technical activities Arjun listed here. At least get to know all of them (AT least those related to your area !) 

6. You might to learn more about hostels, mess,library,labs and other infrastructures and other extracurriculam events like sport, entertainment, games in the institute.

  • Recently i am reading C Programming- A Modern Approach, 2nd Edition by KN King for C programming Language.

    it is very well written for college learners, if you r not satisfied with K&R , do read this book, here is the pdf




    Try to cover First 14 chapters, and chapter 17 and 18  , thats enough for Gate purpose only . 

  • Though you should read chapter 15 and 16 .  

  • And for writing Large programs  , try to learn how to use Makefiles

  • Makefiles will help to write large programs and to link them together , which are given as assignments in IITs programming lab in 1st semester of M Tech .


Top Users Sep 2017
  1. Habibkhan

    7166 Points

  2. Warrior

    2640 Points

  3. Arjun

    2574 Points

  4. rishu_darkshadow

    2520 Points

  5. A_i_$_h

    2280 Points

  6. nikunj

    1980 Points

  7. manu00x

    1846 Points

  8. makhdoom ghaya

    1770 Points

  9. Bikram

    1744 Points

  10. SiddharthMahapatra

    1718 Points

26,144 questions
33,728 answers
31,117 users