At least half a dozen students have asked in the last 2-3 years, this question: What should we do during the 1-2 months gap between GATE result announcement date and our date of joining the MTech programme in Computer Science and Engineering.
There is no particular answer to this, and nor do I believe in super-special preparations of undergoing an MTech programme. However, for those coming from local engineering colleges, like me, and who have not much been exposed to some of the following, it’s wise to go through some of these, as per their liking, during the ‘vacation period’, especially if you are expecting admission in leading institutions like IITs, IISc, IIITs, NITs, etc.
Safe harbour statement: This is not an exhaustive list, nor is a learned directive. Scribbling down some suggestions, which might come handy during your MTech/MS in Computer Science and Engineering in India. I do not believe in overdoing things, but I quite end-up being lazy. Hence it might help some other lazy folks out there like me 😀
In the meantime, you may prepare for the interviews that might come on your way for your MTech admissions. Top-notch institutions restrict MTech applicants based on a special written test and/or interview conducted at their campus, besides your GATE score. As this is not going to be typical multiple choice questions, it is wise to have a go-back and thorough read of basic concepts of your subjects.
And be prepared for a hard time in the beginning semesters. You might be deprived of proper sleep. As I come from a local university-affiliated college, where academic-life balance was great, the first semester at NIT Calicut CSED seemed really upsetting at the beginning, thanks to the volume of assignments. In fact, the assignments were not so huge, but as I was ‘out of practice’, it seemed a bit tough for me to cope with. However, do not think of sleeping before 11PM, at least during your first semester of the MTech programme. You’ll need to code 🙂
a) Revisit your algorithms and data structures
Here comes the Bible of computer science students. Most of the graduate courses in CSE in India will comprise of this course: Algorithms. It’s suggested that you refresh your basics from CLRS by Cormen et al. Buy a hard copy if you still don’t have it. Flipkart | Amazon.
It’s wise to revise some basics of Computer Science, as well. Mathematical Foundations – that include Number Theory, Graph Theory, Probability, Combinatorics, etc – is a good subject to have a grasp on. Grimaldi can help you out partly on this. Flipkart | Amazon.
b) Learn some coding, if you ‘really’ haven’t yet
Learn a programming language ‘well’ (we need to define the term ‘well’!). Preferably, an Object Oriented language. If you’re such a person who always wanted to learn a language ‘well’, but had your excuses not to do so, I suggest Python. Trust me, this is an easier language to learn, and hence will fit lazy people like me 😀 Try the Google Python Class, Coursera Course, or Byte of Python to start with. I’m sure you’ll love it (I’m being pythonic :D). If you are a hardcore JAVA/C/C++ lover, your way!
If you never had a chance to learn Linux basics (we have a lot more colleges in India which are yet to move to UNIX), do learn some basic linux stuff. Play around the terminal, learn some commands, a bit of shell programming, start using vi/vim, and the sort. There are plenty of PDFs/videos available on the web for these, and I am not elongating this post with such stuff (note that ‘so many PDFs and no study will make Jack a dull boy’).
If you get time, learn fundamentals – I mean, fundamentals – of Perl and LaTeX too. They might come handy. Especially when you are in the second year of study.
c) Start loving MOOCs – Coursera is your Holy Land!
Hope you’ve heard of MOOCs. If you haven’t, understand what it is. Coursera is one of the MOOCs that went a lot viral. Subjects ranging from Anthropology to Space Science are being taught by world’s famous teachers, from universities like Stanford. Don’t panic; these professors are great at explaining things. They love simplicity, but hate simplism. I am sure you’re gonna love that.
Try some courses of your liking at Coursera. Note that all the courses on coursera are free. You just need to register (for free). You need to pay only if you need a certificate. Word of caution: when you search something, some ‘specializations’ may pop-up which will have an enroll button, but against which some amount in dollars will be written. That means, you need to pay to undergo that specialization which contains more than one course. However, just take the name of the courses in such cases, and search separately, and you will get the course page where you can enrol for free. Coursera videos are archived, watchable any time, and downloadable (with subtitles).
Note: If you are anyway watching the videos, download them and watch. It’s free and can be reused in future if you download them. You may also download the subtitles if you wish so. By the way, you may try other MOOCs as well, such as edX, MIT OCW, NPTEL, Udemy, etc., some of which are completely free, and some partly.
d) Learn some ‘techie’ stuff, if you were just a book-worm
If you never had a chance to go through some basic ‘techie’ stuffs like git, do do it. It is worth it. Be active on platforms like StackOverflow and the lot. It is good to learn the basics of the web and web development. Get a flavour of PHP, JSP or whatever, for that matter (only if it interests you). Try out Unix systems, if you are still an ardent Windows fan. Try to contribute to open source projects, or at the least, try to understand the community.
e) Maybe, identify your area of interest
Learned too much during undergraduate degree? Utilize this cool-off time to identify your real interests. Go through the GATE syllabus (and outside of it) and identify that one subject which you really loved. This may be your thesis area, who knows! So you can work on this part a bit. Coursera, again, comes to help in learning this subject in detail. Some folks even go to the extent of identifying their prospective thesis guides. Trust me, there are people of this lot (Ah, nay, not me!).
f) Too much concerned about your after-a-year placements?
That’s too early, if you ask me. But in case you’re so worried, have a look at geeksforgeeks.org, CareerCup, leetcode.com. Try to participate in some of the practice and competition events at websites like hackerearth.com and hackerrank.com
If you are an ardent book lover, try reading: Cracking the Coding interview by Gayle (Flipkart | Amazon). Book by Narasimha Karumanchi – Data Structures and Algorithms Made Easy is also a hot book in the market, which is now available in three flavours: Python (Flipkart | Amazon), JAVA (Flipkart | Amazon), C (Flipkart | Amazon).
And it all takes at least two months to complete. Once again, read my ‘Safe Harbour Statement’ at the beginning. Do not panic. Do not overdo. Do not be too lazy like I was. Best of luck!
P.S: You might want to read this as well: MTech in Computer Science and Engineering at NIT Calicut.