How to research in Computer Science 101
This is not a to do. These are musings. These are an enthusiast’s attempt to generate enthusiasm. That is it.
So there are a few people in my institute who are interested in doing research at the end of their second or third years, but that is not quite how it is when we start out in the first year. The Orientation is rough and a lot of people get turned towards more glamorous things, but then again in the end there always is a set few who do not. But even out of those, the number of people still interested to get into research is quite few. That is due to a number of things, and I will try to tackle them one at a time.
Indian high school education system : We see that since high school time, the sole purpose of high school education in India is to just get into college. Ethics, commitment and determination are the traits that are not imbibed onto us. We are only asked to work hard to get to a place which is a shortcut for all our ambitions and dreams. Not going into how much people lie on their resumes to get into foreign colleges during undergraduate admissions, there is also a pretty large set of people who just do not conform to academic rigour. Shortcuts are figured out to make sure they get “marks” and “rank” because that is what matters in real life (wait, what?. No that is all we are told). So when they come to college, you really can not expect them to stick to a problem, read up on it, solve it with rigour, in and out. Moreover, you can not ask them to figure out how to not take a shortcut. I mean cmon. That is literally all they know.
I promised you solutions and I will give them to you. These are solutions I tried and tested and frankly, I do know of better ways, but I could not do them (sorry I am a little weak sometimes). A simple idea is not follow the norm during high school years, and study for one and only one purpose only. Interest. I know it is difficult, I know it is not good for college admissions and I know it mostly sucks, because who the hell knows what they love when they are 15. But this is for all of you out there (who might not even read this) who are actually interested in a lot of stuff but only have been pulled down by the society. Don’t be. Have the strength to stand out, and you will be rewarded.
Focus on extra curricular activities : unlike most good universities in the world, to get into mine people generally give up multiple years of their life to go into a state of solitude and hard work, where they study for 18 hours at a stretch for months at a time, to clear a one day examination which is the standard test for the country. All set and done when they actually come here, they are not really so inclined to be hard working. To toll in the library. But how can one even come close to doing research if they are unwilling to go out of their way to work hard and figure out what to do. How to study it? And then actually study it? And most importantly, do it while most (nearly all) people around you are doing nothing with their lives except wasting it away doing things you’d love to do in your free time (which you have somehow removed completely from your life). So people take the easy way out and want to just build their extra curricular achievements. All good, does not work for research always. Mostly, these people, go so for from academic rigour they just do not want to come back to it. Yes there are exceptions, and they are great. I appreciate them more than I can ever appreciate any acheivement I ever make, because they did / do I might only have imagined myself to do. But those are very chosen few, and mostly everyone just does not do it.
Solution? There nearly is none. Manage your time well, which is quite the standard advice for life is the only solution I have. But moreover, do not think that if you are doing something research oriented, it is not as impacting or as important or might not help you in life.
Lack of self confidence : Often I have seen people who would do well in research try and give up very easily. Why? Because it is easy to give up easily. People do not believe in their abilities. The do not realize they have more to offer than they think they do, and finally they do not realize that they can not / are not just defined by the results they get. Sure research means an extensive effort for quite a large amount of time. Generally, the amount of time taken to learn a development library, is nearly quarter of the time taken to learn what you need to even start understanding the research papers which are the State of the Art at present time. Moreover, it is intimidating to think that you can also contribute and change the world, while you see people changing the world in ways you can not even think of. Therefore, it is a daunting task to just believe in yourself. And it is equally important to do this, apart from working hard towards what you want to achieve.
The solution to this? STOP THINKING. Yes, that is it. Stop thinking about what will happen, what might happen, if it is good, if it is bad. It is not okay, to worry about things you anyway can not control. Just do not think if you can or can not make the difference that is expected out of research. But, rather, think more about what you wanna do. What is it that motivates you. What is it that makes you different from everyone else. And it does not matter how big the impact is. There is no metric, no reference. Every piece of research is unique in it is own. Maybe it is stands on the shoulders of giants, maybe it is more than that. Maybe it is something new, and maybe you are re-inventing the wheel. Man kind reinvented the wheel over a million times before someone figured out how to make a unicycle. All you need is ideas. And a guide.
Lack of guidance : One of the most important things in research somehow is guidance. A good guide will lead you to be better than you thought you could be. They will not tell you the bare minimum, nor will they tell you everything. They will tell you exactly what you need to know. Not much more, and specially not less. But how does it make a difference to how much time you are given? In the end your research is your own? WRONG. Research work is a collaborative attempt to better humanity. What happens when you do not have good guide? There is no such thing. There is no such thing as the right guide either. It is all about compatibility. If you are not compatible with someone, then they are not the right guide for you. If someone else is compatible, then they are. Compatibility is a mixture of matching IQ levels, time you need from them and the time the have for you ratio (closer to 1 the better), understanding, communication level and research focus. Some researchers might be very close to you in their approach to the field, but might not be oriented towards the same goals as you, and very soon, nearly as soon as you are done figuring out what to do and it comes to the how, things like these matter.
As an undergraduate I would say, do not look for hot fields, look for compatible researchers. Look for people who are probably new in the field, or rather younger professors, who are as enthusiastic as you to get stuff done. Who are buzzing with ideas, who will help you along the way. At least in the early stages of research, because everyone can agree that there is no such research such as bad research. Just go out there and test your limits.
Lack of patience : The most common problem with research in general is the requirement to be committed to a single problem for an extensive period of time. Therefore, it requires stability and patience. Often, one would not see the solution to a sub problem at hand, therefore reaching a road block. You will be in a bad place, it would not work out to just keep working. You would probably need to take a step back, or even rethink the complete idea. There is no single way to handle this. Keeping this in mind, patience is nearly the key to do research as an undergraduate.
Solution? (enough of those already) One might be to work on 2 problems at time, so that you can switch context whenever you are very troubled by a single problem. I would not say go for more than 2 projects, because there is a lot of other academics, apart from research projects, that has to be done as an undergraduate. I probably can not recommend anything more than that.
But what is something that should be done for great research : I do not know, but I can tell you what always helped me ( please contact researchers for this, I am more of an intern level guy here).
- Reading lots of papers : I try to skim through more than like 5 papers a day on average and add atleast 10 to my reading list (it will never end)
- Getting my hands dirty with most of the things I read in those papers
- Looking for new ideas from different domains and therefore work on cross domain work
- A whole lot of software engineering tricks. Yes, they help. Frankly, if I was not so motivated to try and get into some of the good labs, I would have gone for a software engineering intern. Writing code is not tough. But writing good quality builds that run on cross platforms or clusters? Quite a challenge. Software engineering tricks mostly get you to where you want to go.
- Do not stick to hot topics, non hot topics with hot ideas are as good as any idea hot topic
- Be committed, be patient and do not lose hope (or the keys to your lab)
- Do not try to take shortcuts, do not try to fast track and never stick to one field as an undergraduate
- Do not kill yourself failures
- Put in the hours, put in the time, make a schedule, stick to it. Being in your university does not mean you can afford to be not disciplined. As a matter of fact, discipline might just be the key to doing what you want to do.
These views are only my own, and it is what I wished I had known when I was starting out to get into research.
