SOME THOUGHTS ON WHAT IT
TAKES TO PRODUCE A GOOD PH.D.
THESIS
Avi Kak
Purdue University
December 14, 2012
7:46pm
This presentation is dedicated to the
fact that .....
..... in the best of relationships be
tween a professor and a graduate student, the student strives to show the professor why the professor is not as smart as the professor considers himself/herself to be, and the professor strives to show the student why the student is actually smarter than the student believes himself/herself to be.
DIFFERENT PHASES OF PH.D. RESEARCH
• finding a good problem
• staying on top of the literature
• getting plugged into the broader research
community
• communication of research results through
oral presentations and writing
FINDING A GOOD PROBLEM
This is probably the most stress inducing phase
of the whole program.
How does one go about finding a good prob
lem?
• Ask your major professor
• Ask your office mate
• Read the tea leaves
• Ask your mom
• .....
In my mind, the correct answer is: None of the
options listed on the previous slide.
To appreciate my answer, you have to get to
the bottom of what engineering research is fundamentally about.
WHAT DOES RESEARCH IN
ENGINEERING REALLY MEAN
Basically, engineering research is about
...... observing and understanding the
world around you with regard to how things work now and how they could be made to work better
..... discovering the current best prac
tice in your area and pushing that to a higher level of performance
..... bringing together two hitherto dis
parate threads of engineering knowledge and creating a new thread for study and analysis
HOW DOES ONE DISCOVER A GOOD
PROBLEM
In order to discover a good problem .....
.......... you have to first push yourself
to the current state of the art, before you can advance the state of the art.
Are there any strategies for rapidly pushing
oneself to the current state of the art?
STRATEGY FOR DISCOVERING THE
STATE OF THE ART
In engineering research, I believe that the best
strategy is to actually try to do a state-of-the-art experiment.
If you want to discover a good problem to work
on in any area of engineering, there does not exist a faster way to get to the state of the art than creating your own implementation for a core problem in that area.
For example, let’s say you want to understand
the state of the art in information retrieval from large software libraries.
There are probably a couple of hundred papers
now that have been published on the subject of information retrieval from software libraries.
These papers use a variety of methods that
range from static source code analysis to the construction of statistical models of the source code libraries using techniques developed by folks in information retrieval from large text corpora.
You could spend a couple of years trying to
read all these papers, but by the time you are done, there will be another 100 papers to read.
If, instead of chasing at the outset all the pa
pers that are out there, you create your own retrieval engine, you are much more likely to get a good feel for the state of the art (even if your own implementation is rather crude compared to the best out there).
The process of creating your own implementa
tion will give you deep intuitions that would be hard to acquire by just reading the literature.
MAKING EFFICIENT YOUR PROBLEM
DISCOVERY PHASE
It is much more efficient if the problem discov
ery phase is experiment-driven as opposed to literature-driven. What you read in the literature should be dictated by your current experimental obsession, as opposed to the other way around.
STAYING ON TOP OF THE
LITERATURE
This is probably the most traumatic phase of
the whole program.
Much technical literature is poorly written, de
signed more to hide than to reveal, designed more to obfuscate than to clarify, designed to gain short term recognition, etc. ∗
In other words, much technical literature is
written with motives that are less than noble.
How does one cope?
∗ If you believe that scientists and researchers are a nobler breed
than most, you are mistaken.