This outlines a process for developing a research topic.
These steps are guided by the
Five Research Questions
Steps in the process
- Define a problem
- Define the problem you are trying to solve
- Read to gain skills and to understand other
attempts at your problem
- Try out the techniques, software, mathematics and
possible solution ideas
- Write out a plan for attacking the problem
- Develop your solution
- Prove that you have a good solution
- Tell the rest of the world what you did so that
they can benefit from your work.
Define a problem
A key to successful research lies in finding good problems.
In this step you must address research questions
1 (what is the problem?) and
2 (who cares?).
A good research problem should provide intellectual
leverage. "If I succeed at solving this problem, then
there will be many different benefits in many applications."
If the solution only has a single application then
generally it is product development rather than
research. A good research problem has leverage.
A good research problem is also one where you or your
lab have unique advantages over others. These may be
specialized computing resources, mathematical or software
techniques that have not been tried on this problem,
a new insight into the nature or the problem or access
to data or other resources.
Developing the problem
Start with a one sentence statement that clearly
addresses research questions
1 (what is the problem?) and
2 (who cares?).
Getting this sentence right will clarify your thought before
investing a lot of work in more words. You will also have
frequent need to give a short direct answer to "So
what are you working on?" You should always have this answer.
Review this sentence with others to see if it makes sense.
Expand your sentence into a paragraph of about 1/3 page that
addresses the same questions. This will expand your thoughts
again without a huge investment in words. If your thoughts
will not fit in a paragraph then you do not yet understand
your problem. Review this paragraph with others and see if
they can answer questions 1 and 2 from your paragraph.
The only way to answer research question
3 is to read a lot of
books and papers. However, it is important to read efficiently.
Reading every word of every paper is a waste of time. You need
to read with a purpose. That purpose is defined by your
research problem and by any technologies that you think might
support your solution.
The first question when reading a paper is "How might this
paper address one or more of the
five research questions as
they relate to my problem?". Knowing the answer to this question
tells you what you are looking for in the paper. For example, if
you are looking for a way to validate your results, you may
want to skip immediately to the end of the paper to see how
they validated their results. If you are looking for experimental
data about some approach, skip to the results summary to see
what their conclusions were. They may not have tested for
what you are interested in. In which case you just saved an hour
of reading. Read to answer your questions.
Any paper worth reading is worth taking
notes about. There is nothing more frustrating than to start
writing a thesis or a paper, to remember a source that you
read and to not remember where you found it or what the exact
conclusions were. You read the most at the beginning of a
project and you publish at the end. You forget a lot between
Do not take notes on odd scraps of paper. Get a bound notebook
that you keep with you always or open a file or web page for
collecting all of your notes. Good notes include:
To find stuff to read you will need some keywords on which to
search. Watch for when papers cross disciplinary boundaries.
Different disciplines call the same concepts by different names.
Keep lists of papers to read along with why you thought you
should read them.
- A full bibliographic reference. This is easy to get
when you read a paper and a pain to find again when you
are trying to write your papers.
- How does this paper address the 5 research questions?
Filter this by relevancy to your problem. When you
characterize this work in your papers you will need answers
to all five questions to help you differentiate this paper
from other work and from yours.
- Lists of other references to search. When you find
a good paper, it should lead you to other papers.
There are two ways for following references.
- The reference list of the paper will lead you to
the work on which this paper was based. This will lead
you to foundation concepts. Make sure they are relevant
to your problem. There is too much in the world to read
- WWW search sites designed for scholarly work will
frequently provide lists of other papers that cite this
paper in their bibliography. This is very helpful in
finding more recent work on a topic. You need to find
the latest stuff
Good search sites for Computer Science
ACM Digital Library available for free from any
machine on BYU campus. This contains everything published
by ACM plus some other stuff. Papers have all ACM
CiteSeer an index of scholarly computer science
papers that people have published on the web. This
also includes good citation links. Frequently helpful
in finding papers from non-mainstream conferences.
IEEE Digital Library - free from on campus.
Search all IEEE publications.
- Google Scholar
A variant of Google that targets scholarly papers.
Behaves much like CiteSeer.
Harold B. Lee library search of ACM, IEEE and other
Before becoming fully committed to a project, it is very
useful to do some exploration. Try simple prototypes of
algorithms or techniques that you discovered while reading.
Try simple projects with any new software that you have
never used before. Try prototypes of some of your research
ideas. You do not really understand a problem, technique or
piece of software until you try to work with it. Set small
goals (it helps to explore with a purpose) and see how easy
or hard it will be to do the things you want.
Exploration is very important to determine if you really
think there is fruit in this research approach. However,
there is a trap of letting exploration consume all of
your research time. There is also the trap stuffing
your entire research plan into your exploration. This can
spend a lot of time without a plan for what you will need
in the end.
Any code you write, plan on throwing it away and starting
over. The goal is to learn, not to develop usable code.
Writing is an important discipline to your thinking. Graduate
programs require proposals because of the discipline it
imposes on young researchers. Writing a proposal accomplishes
two goals: 1) writing ideas down makes them concrete and
forces you to sort out insights from wishful thinking, and
2) a proposal forces you to articulate your ideas to someone
else. The end of the process is publication. If you can not
write a proposal it is very doubtful that you have something
- Review the sentance and paragraph that you wrote
while defining your problem. After reading and
exploration you may need to rewrite these two items.
Hopefully you have learned a lot.
- Expand your paragraph into 1 page. This page should
address all five of the
For question 4 on your solution you should sketch
the key insights that you believe will lead to a
- Look at the appropriate format for your proposal
- Review the 5 questions and write an outline for how
you will address them. Consider your format requirements
and the guidelines in the next step.
- Write the proposal
- 1/2 page answering
(what is the problem?)
- 1/2 page answering
(who cares and why?)
- 1 page on
(what have others done?). A key part of any
proposal defense is finding out if you know the
literature in your field. This is where those
notes that you wrote while reading come in very
- 1 page sketching out the key insights for
(what is your solution?). At this point you
are sketching ideas of how to attack the problem.
- 1/2-1 page addressing
(how will you test your solution?). It is very
important that you show a plan for how you will