Monday, January 5, 2009

Primer on CS research and relevance of research skills

First of all, I would like to thank Juliana for the invitation.  My name is  Melvin Zhang, and I am a third year graduate student in SoC. I graduated with a B. Comp (Hons) in 2006 from SoC, majoring in Computer Science. I am currently doing research in the area of Computational Biology.

In this post, I will try to give an overview of research in CS and the importance of research skills.

In a nutshell, research is a systematic study of a specific problem to derive new methods, frameworks, systems or facts. CS research can be divided into two broad areas, namely theory and systems. Theory is concerned with coming up with new methods or facts that can be proven mathematically, whereas systems is about the implementation and design of computer systems to solve real world problems. Not all research lead to new ways to solve a problem, sometimes it is about developing a unifying framework which combines different methodologies.

Most of us have to perform various research related activities at one point or another, whether it is working on an research project such as FYP or doing a survey for an essay we have to write. In general, a research project  consists of the following components:
  1. identify and formulate the problem to be solved (the MOST important step)
  2. review of existing work on related problems (so that we don't reinvent the wheel)
  3. proposal of a new solution (this is not as hard as it sounds, often it is a refinement of an existing solution or a combination of ideas from different solutions)
  4. validate the proposed solution (equally important to "sell" your idea)
Although this might sound like a sequential process, it is not. Often, the results from an initial solution are not satisfactory and a careful analysis leads to a reformulation of the problem and/or refinements to the original solution.

Almost all serious projects involved the above steps. That is why research skills such as problem formulation, review of related work and design of experiments to support your claims are important. In particular, formulating the right problem is often the key step towards a solution. To quote the words of Jiddu Krishnamurti, an Indian philosopher, "If we can really understand the problem, the answer will come out of it, because the answer is not separate from the problem.".

1 comment:

Min said...

So you might also enjoy a list of skills that Ph.D. student graduates are supposed to master as well. I circulated this list to my Ph.D. student group.

http://mblog.lib.umich.edu/ScholarZen/archives/2007/10/drago_radevs_sk.html