Thursday, November 15, 2007

Lessons learned from the Master degree

Now that I have a Master degree and on the track to get a Ph.D., and being a researcher in a developing country, I think I can make some notes about what to know and what to do to obtain a Master degree. Also, I think it's about time someone begins to explain all about the process of obtaining a scholarship, either locally or internationally funded.
Well, let me talk first about the lessons I've learned during the phase of the Master degree. In doing so, I'll try to stress upon some points that are different between computer science research and research in other branches.
There are three extremely important things that a Master degree seeker need to make choices about:

  • Pick a subject area,
  • Pick a supervisor,
  • Pick a research methodology.

Picking a Subject Area:

I've seen many colleague researchers; including me, who did this the wrong way. The wrong way being to choose a general area of research then pick a sometimes random title then applying for the Master degree. After that comes the precise definition of what the research will propose as a contribution to science. Most of this happens because of the scarcity of computer science professors that are available to supervise researchers. This, in turn leads to one of four situations:

  • Professor IS knowledgeable in chosen area AND Researcher CAN work mostly on his own: Professor provides only necessary guidance, smooth collaboration or total clash
  • Professor IS NOT knowledgeable in chosen area AND Researcher CAN work mostly on his own: Researcher is faced with the possibility that his work is not scientifically validated by a specialist
  • Professor IS knowledgeable in chosen area AND Researcher NEEDS major support from supervisor: Normal situation, professor gives correct guidance to the researcher and directs the whole process, researcher learns two things: new science and the proper way to guide researchers in the future
  • Professor IS NOT knowledgeable in chosen area AND Researcher NEEDS major support from supervisor: Complete Darkness!!!

I think the proper procedure of choosing a subject area should be:

  • Identify a general subject area of interest to the researcher
  • Discussing with the supervisor what possible "hot" points (usually described as problems) in that research area that are currently the focus of world researchers, then choosing a point that is not likely to get "cold" in the near future (within 3 years)
  • Conducting a preliminary review of the current research in that point to see what other researchers are doing to solve the problems in that point and whether their approaches are classified or need to be classified.
  • Determining, based on either the professor or the researcher knowledge, what other venues of mechanisms or techniques that were not explored yet to deal with that point.
  • Choosing a technique or mechanism that the researcher is willing to explore then assessing the initial validity of applying it to the problem at hand.
  • Writing a research proposal that highlights:
  1. The point and its importance
  2. The background review conducted
  3. The proposed approach to deal with the problem in that point, and a definition of what aspects of the problem will be addressed.
  4. The proposed outline of activities that the researcher will perform to reach from a preliminary understanding to a possible solution, usually this is known as the research agenda or timetable.

Picking a Supervisor:

Picking a supervisor is pretty much like picking a friend, both of you have to be on the same page in the crucial principles, and otherwise you should be able to tolerate each other's "minor" differences. Some of the researchers I've seen are stubborn, especially when the case is that the researcher "assumes" he's knowledgeable in the chosen subject while the supervisor is not. Stubbornness here means that the researcher thinks he/she is entitled to "lead" the research and ignore whatever professional advice the supervisor can provide. The supervisor is not a supervisor just because he's knowledgeable in a subject area, he's also responsible for managing the quality and the pace of the conducted research. So even if he can't provide much help scientifically, he still is the senior and major partner in this Master project. He's been around; maybe even before the researcher was born. He has priceless experience regarding what professors like to read and how they evaluate scientific material.
There is no doubt that it's up to the supervisor to make things "heaven" or "hell" for the researcher, that's why the researcher should take the time to think about who he/she wants to work with and how well his/her social skills can salvage any thing that might go wrong in the relationship.
However, the common case is that the researcher does not have much say in who should be the supervisor. Sometimes it's a choice made by the department, sometimes there's no choice whatsoever because of the previously pointed scarcity of professors. If that's the case then obviously you can get stuck with a supervisor that you might not like. The important question to ask yourself here is: Do I not like the chosen supervisor for personal reasons or for professional reasons? If it's the former, then I can't highlight this fact enough: Work shouldn't be a place where "likes" and "dislikes" control the dynamics of relationships among coworkers. As the English and Americans say: Business is Business!
If the later is true; which means you have objections to the supervisor's professional ability, then it's one of two thing: maybe you're prejudiced; you hear that he's not professionally adequate so you're assuming it's true. The other thing is you're right, and in that case there is a possibility that you can still salvage something out of the situation. You'll have to focus on benefiting from his other strengths and compensate for his supposed lack of knowledge with your own determination to do well. You can benefit from the help of other professors and/or coworkers. Participate in seminars and conferences and if attendants do not critique your work ask them afterwards what they think of your work. Join Internet groups and forums that are engaged in your research area and ask for help or guidance, and chances are there are professors who participate in these groups and forums who are willing to provide help.
Having identified the grounds you're standing on, now it's time to proceed to the actual work. Set up meeting appointments with you supervisor that can be kept, and make him always involved in what you think and what you do. Maintain a good friendship with him and have an open mind that listens with appreciation, not with rejection. If the supervisor asks for a certain task to be done, a certain techniques to be used, don't just say no because you don't want to do the task or use the technique, analyze what he's proposing and check its feasibility. If "in you humble opinion" you think the request is not doable, then argue nicely and make a logical point. Discuss the issue with him like this: "I can see how good and reasonable your suggestion is, but there are reasons why it may not be the best course of action to do so and so." Do not ever use the term "it cannot be used" because of two reasons: first, this sentence is like shutting the door in his face (not polite and not constructive to the relationship), and second, because there is a possibility that his suggestion IS viable. The key to not losing the good balance in the relationship is to always be open to discussion and debate.

Picking a Research Methodology:


I didn't know there was something called a research methodology, and I think most of my colleagues don't know what a research methodology is. Nonetheless, we all choose our methodology intuitively.
Research methodology is the set of actions that a researcher takes in order to solve the problem he/she is addressing, and the validation tests that will be performed in order to know the suggested solution/mechanism/technique is correct and solves the problem. Those tests and the way you are supposed to handle them to give rigor to your research is what is understood under methods.
There are two main research methodologies:

  • Qualitative (interviews, questionnaires)
  • Quantitative (statistics, modeling, ...)

For some projects qualitative methods are more appropriate, for some quantitative, while for most a mixture of the two is adequate. You should pick your methods and justify your choice. Research methodology, however, is too a complicated thing to be explained here. In computer science, the quantitative method are more prevalent and thus I can elaborate on it further. In a quantitative method, you should specify the following:

  • Explain clearly and comprehensively what will be done, in what order and how
  • Identify independent, dependent and confounding variables:
  1. Independent variables are variables that you suggest based on your solution/mechanism/technique. Their different values affect your dependent variables in a consistent way (increase, decrease) or do not affect your dependent variables (stability)
  2. Dependent variables are the variables that measure the performance of your solution/mechanism/technique. Your aim is to measure how they are affected by your proposed independent variables and identify the nature of effect (positive, negative, none)
  3. Confounding variables are variables whose behavior cannot be determined by changes in the independent variables (they increase for specific values and decrease for other values)
  • Describe study setting (naturalistic or contrived)
  1. Naturalistic study setting refers to applying your research solution/mechanism/technique to a real life situation, most probably in the industry
  2. Contrived study setting refers to your construction of a prototype, simulation, or limited pilot of your proposed solution/mechanism/technique and measuring its performance within a limited and controlled environment
  • Describe sample (type, how it is selected, criteria for inclusions and exclusions of members of the sample)
    Here's where I get confused a little bit about how to carry this part, in some applications, choosing a sample is very natural (studying the effects of a medication on the improvement of health), but in computer science, I don't know exactly what's the scope of a sample in certain applications. Suppose one of my colleagues wants to study the improvement a new algorithm has on the performance of query execution in distributed database systems. What is the sample space that she should deal with?
  • Specify time horizon
  1. Snapshot: measuring performance in a single point in time
  2. Multiple points in time: measuring performance after carrying out the solution/mechanism/technique (after). Measuring performance before carrying out the solution/mechanism/technique, then applying the solution/mechanism/technique and measuring performance after that, then comparing the two performance measurements(before/after). Measuring performance before carrying out the solution/mechanism/technique, then applying the solution/mechanism/technique and measuring performance after that, restoring the environment to the status previous to the application of the solution/mechanism/technique and measuring the performance, then evaluating the changes in performance measurements (before/after/before).
  • Identify equipment (including techniques, measures, measurement scales, materials)
  • Describe experiments from most to least important
  • Provide the measures, equations, descriptions of techniques or prior knowledge that relate to data production and analysis
  • Discuss whether your approach and its results can be generalizable, and if not, identify what modifications that are to be done to make it applicable to situations or systems other than the one you chose for application (whether natural or contrived), and changes of performance are to be expected then.

Well, that concludes just about most of what I wanted to talk about in that subject, I hope it can be of use, and next time I'll talk about the process of obtaining a scholarship, either locally or internationally funded.

1 comment:

helghareeb said...

:) Neither Subject Nor Supervisor were a problem ;)

And Research Methodology: Delayed :)

No further talk, I have not seen the shore yet ;)

SHHHHH

Again, Thanks for this entry.
By the way, Any ideas how to measure 'Agility' ?

Template by:
Free Blog Templates