Title: How to get a PhD in Information Technology
1How to get a PhD in Information Technology
2How to get a PhD in information technology
- Six steps
- Find a good topic
- Find a good supervisor
- Use a good research method
- Give lots of good talks
- Write lots of good papers
- Write a good thesis
3How to get a PhD in information technology
1. Find a good topic
4Find a good topic
Two extreme topics
- Phylogenia of p-systems the case k4
Team member Terri
Independent Ira
I have always thought that programming languages
which use keywords in Armenian lead to more
productive software engineering. Now I can use my
time as a PhD student to prove it.
My supervisor wrote the first p-system, and for
the past 17 years has been studying the
phylogenia of such systems. Three other students
are studying k1, k2, and k3 I will study k4.
5Find a good topic
Two extreme topics
- Independent Ira has an idea, and wants to pursue
it, even alone.
- Team member Terri adds a bit to a long term
project of her supervisor
- Dangerous topic
- may lead nowhere
- may be uncompetitive
- Can be satisfying for some people
- Funding unlikely
- Safe topic
- Can be satisfying for some people
- More chance of funding
6Find a good topic
7Find a good topic
My advice Most people do better in a team.
Independent
Part of a team
- Most IT theses are somewhere in the middle other
sciences tend to be more team oriented
8Find a good topic
Two extreme topics
Irene the introvert
Eddie the extravert
This problem has been bothering me for decades. I
cant rest until I know the answer.
A guy in a software security company has been
phoning my supervisor to ask about this possibly
prime number, 2231-1. Ill try to solve the
problem.
9Find a good topic
Two extreme topics
- Eddie the extravert Has a customer who wants to
know, he will try to find out
- Irene the introvert self-motivated, wants to
find out for her own sake.
There is no customer
Customer oriented
The customer may be an industrial partner, or a
separate community of academic researchers
10Find a good topic
11Find a good topic
My advice Always ensure that your research has
a customer
Introspective
Customer-oriented
12Find a good topic
Two more extreme topics
Narrow Nancy
- The effect of the use of critical path planning
in managing software projects
- How to manage software projects
Broad Betty
Narrow and deep An investigation of a few
variable parameters, with many parameters held
fixed.
Wide and shallow Considers many parameters at
once.
13Find a good topic
Narrow and broad
Broad Betty
Narrow Nancy
- Investigate the effects of
- 15 different design methodologies
- 7 different programming languages
- Small huge SLOC
- 17 different planning methods
- Assume
- an OO design method
- Java
- small teams
- 10K 100K SLOC
- Investigate effect of
- use of critical path planning
14Find a good topic
15Find a good topic
My advice Choose a narrow and deep topic, and
choose your variable and fixed parameters very
carefully.
Narrow
Wide
16Find a good topic
Another two extreme topics
- Disk cache scheduling for Gnu C memory
management on a Pentium 4 processor running
Solaris
- Robustness theorems for non-pre-emptive
scheduling methods
Andy the applicationist
Fred the fundamentalist
Fundamental topic abstraction of specific
hardware and software
Applied topic specific hardware, specific
software
17Find a good topic
18Find a good topic
Another two extreme topics
Popstar Paul
- Web-enabled distributed data mining for
ubiquitous computing in XML
Classical Kirsty
I want to solve an problem that has defeated many
others
I want a lot of newspaper coverage
19Find a good topic
20Find a good topic
My advice Investigate a fundamental and
classical topic, with some applications to a
couple of hot and applied topics.
Another two extreme styles
There are IT theses all over this range, but
there is a tendency to be near the hot end.
21Find a good topic
General advice on topics Investigate a classical,
fundamental, deep, and narrow topic, with some
(perhaps shallow) applications to a couple of hot
applied topics. Obtain breadth by being a member
of a team. Think of your topic in terms of your
thesis . . .
Extreme
Extreme
22Find a good topic
PhD Thesis . . . Chapter 2 Investigation of a
very difficult well known classical fundamental
problem . . . . . . Chapter 5 Case study 1, some
hot topic Chapter 6 Case study 2, applied
topic . . . Chapter 9 Conclusions Refer to case
studies by your colleagues
- Thesis structure
- Fundamental principles
- Case studies
- Refer to case studies of other team members
23Find a good topic
- A model of optimizing compilers
- . . .
- Chapter 2 Describe a new model for optimal code
- Chapter 3 Algorithms for creating optimal code
under this model - . . . .
- Chapter 5 Case study 1 how this model applies
to mobile agents - Chapter 6 Case study 2 comparison of
optimal/sub-optimal code in a distributed
transaction system - . . .
- Chapter 9 Conclusions further support for your
hypotheses from work of your colleagues
Classical fundamental problem Applications
to hot and very applied topics
24How to get a PhD in information technology
- 2. Find a good supervisor
25Find a good supervisor
- The relationship between supervisor and student
is very important. - Its like a marriage that lasts for 3 4 years
- Commitment is important.
- You must like each other.
- You depend on each other
- Each needs the other for a good research career
- In many cases, you dont get a chance to choose a
supervisor - But if you have a choice . . .
26Find a good supervisor
- Algorithm Find_Good_Supervisor
- Repeat
- Locate person X
- Test supervision quality of person X
- Is X a good teacher?
- Is X a good researcher?
- Does X have enough money?
- Does X have good international contacts?
- Can X help you join a local team?
- Until quality is sufficient
27Find a good supervisor
- a) X should be a good teacher
- Can I understand what X is talking about?
- Did I enjoy lectures by X?
- Has X written any good textbooks?
- Has X received any teaching awards?
- Has X had many other PhD students?
28Find a good supervisor
- b) X should be a good researcher
- Is X cited often?
- (From www.citeseer.com
- Citeseer_count/2 gt years_since_PhD ? )
- Does X publish lots of papers?
- ( journal_paper_count gt years_since_PhD ? )
29Find a good supervisor
- c) X should have lots of money
- Can X get you salary/scholarship?
- Can X get you enough equipment/software? (2Kpa?)
- Can X get you enough travel? (5Kpa?)
- Does X supply systems/secretarial support?
- Does X supply nice office space?
30Find a good supervisor
- d) X should have good international contacts
- Does X have joint publications with other people?
- Is X involved in conference organization?
- Is X an editor of an international journal?
- Do the former students of X have good jobs?
31Find a good supervisor
- e) X should be in a local research team
- Does X have many students/ postdocs/ associates
in the Department? - Does X regularly attend a research team meeting?
- Is X a member of too many research teams?
32Find a good supervisor
- My advice
- The three bananas may never come up together, but
you should try for at least two.
33How to get a PhD in information technology
- 3. Use a good research method
34Use a good research method
The research procedure
- The customer has a problem.
- The researcher produces an initial model of the
problem. - Repeat
- The researcher solves the problem, according to
the model. - The researcher evaluates the solution of the
model problem. - The customer evaluates the solution to the real
problem. - The researcher adjusts the the model.
- Until the customer is satisfied.
35Use a good research method
- Researchers have several roles to play
- Create and adjust models of problems
- abstract away non-essential details
- use scientific theories and formalisms
- Solve model problems
- Use skills in CS/Math/sociology/psychologycommonse
nse .. - Form hypotheses
- Evaluate solutions to model problems
- Use skills in Math/Experiments/UCST
- Present solutions to other researchers and to
customers
36Use a good research method
In practice, the research procedure takes a long
time
In practice, a PhD student is usually involved in
a part of the procedure, perhaps only one of 1.
Creating/adjusting a model 2. Finding a
solution 3. Evaluating a solution
- The customer has a problem.
- The researcher produces an initial model of the
problem. - Repeat
- The researcher solves the problem, according to
the model. - The researcher evaluates the solution of the
model problem. - The customer evaluates the solution to the real
problem. - The researcher adjusts the the model.
- Until the customer is satisfied.
- We need to know
- How to create/adjust a model?
- How to find a solution?
- How to evaluate a solution?
37Use a good research method
1. Creating/adjusting a model A model is formed
by forgetting some of the parameters of the real
problem models are simplifications of real
problems. In IT, models are usually formal and
mathematical. Software Engineers are very
familiar with modeling.
38Use a good research method
- In practice, many models are models of models.
Researcher A
A Model of the real problem
Real problem
39Use a good research method
Artifacts that make up a solution
- 2. Finding a solution
- Solutions are artifacts that help the customer.
Programs
Metaphors
Protocols
Architectures
Algorithms
. . . .
40Use a good research method
Skills that contribute to a solution
- A solution is found using the skills of the
researcher. - Your skill set is probably not enough to create a
solution. - You need to
- Remember your undergraduate work
- Read books and research papers
- Attend seminars and conferences
- Ask your supervisor
- Better research comes from a better skill base.
Formal logic
Compilers
OO models
Concurrency
Algorithms
Mathematics
. . . .
41Use a good research method
- Researchers draw on a number of fundamental
skills to create a solution consisting of a
number of artifacts.
Problem
Formal logic
Program
Compilers
Protocol
Solution
OO models
Metaphor
Concurrency
Architecture
Algorithms
Algorithm
Mathematics
42Use a good research method
- 3. Evaluating a solution
- To evaluate a solution, you need
- An evaluation measure that tells you whether the
solution is good or bad - An evaluation method to compute the measure
43Use a good research method
- Evaluation measures
- There are three basic measures for the quality of
a solution
Effectiveness
Measures
Elegance
Efficiency
44Use a good research method
- The three measures
- Effectiveness is the solution logically correct?
- Efficiency does the solution use computational
resources efficiently? - Elegance is the solution beautiful, simple, and
elegant? - All solutions can be measured in terms of these
three parameters.
45Use a good research method
- There are three basic evaluation methods
Mathematics
Evaluation methods
Experiments
UCST
And many combinations of these approaches
46Use a good research method
- The three methods
- Mathematics theorems, proofs
- Experiments
- Run programs on test data
- Collect data about software projects
- Test systems with human subjects
- Needs skills in statistics
- UCST Try to sell your solution
- These are the only evaluation methods in
information technology.
47Use a good research method
- Example the plotter problem
- A pen plotter is a calligraphic device it has a
pen which moves over the paper to draw the
picture.
48Use a good research method
- The plotter problem
- A pen plotter has a pen which can be up or down.
- It accepts a sequence of penUp/Down/moveTo
instructions.
penUp moveTo (20,80) penDown moveTo
(80,80) penUp moveTo (20,20) penDown moveTo
(80,20) penUp moveTo (20,20) penDown moveTo
(80,20) penUp moveTo (20,80) penDown moveTo
(20,20) penUp moveTo (80,80) penDown moveTo
(80,20) penUp zero
49Use a good research method
- The order of the instructions has an effect on
the pen-up time.
The plotter problem Sort the instructions into
an order that minimizes pen-up time.
penUp moveTo (20,20) penDown moveTo
(20,80) moveTo (80,80) moveTo (80,20) moveTo
(20,20) penUp zero
50Use a good research method
Say speed 5cm/sec Bad solution Pen-up time
71 seconds. Good solution Pen-up time 6
seconds
(80,80)
(20,20)
(80,20)
51Use a good research method
- The model
- We have
- A set of primitives
- Each primitive has a start point and a finish
point. - The pen-up time is the sum of the distances from
the finish point of one primitive to the start
point of the next primitive. - We want
- An ordering for the primitives to minimize pen-up
time.
52Use a good research method
- Solution
- One easy solution is the greedy algorithm
- Choose the first primitive so that its start
point is the closest start point to PEN_ZERO. - Repeat for k1 to NUM_PRIMS-1
- Choose kth so that its start point is the closest
unused start point to the previous finish point.
53Use a good research method
- Evaluation by UCST
- The greedy solution can be proven effective by
UCST.
UCS Assertion Since it chooses the best
alternative at each stage, it gives minimum pen
up time.
- This may be convincing for some customers, but
not for PhD thesis examiners. - The greedy solution is elegant by UCST it is
easy to understand, easy to implement.
54Use a good research method
- Mathematical Evaluation
- The greedy solution can be investigated for
effectiveness using Mathematics. - a) Negative result Greedy does not always give
optimal results.
Total pen-up time 12.5
55Use a good research method
- The optimal path is shorter.
Total pen-up time 7
56Use a good research method
- Mathematical evaluation
- b) The greedy method is close to optimal
Theorem If GREED is the pen-up time with the
greedy solution and OPT is the pen-up time with
the optimum solution then GREED / OPT O( logn ).
Proof lots of mathematics lots of mathematics
lots of mathematics and lots and lots of
mathematics lots of mathematics lots of
mathematics lots of mathematics lots of
mathematics lots of mathematics and even more
mathematics and more and an incredible amount of
complicated mathematics and lots of mathematics
lots of
57Use a good research method
Plotter instructions
Greedy Algorithm
Effectiveness test
58Use a good research method
- Experiments showed that greedy is very close to
optimal for larger plots it is within 10 of
optimal. - BUT . . .
59Use a good research method
- Experimental Evaluation
- We replaced the quality evaluation with a real
plotter
Greedy Algorithm
Plotter instructions
Real plotter
- And timed the real plotter using the wall clock.
The customer was happy, but it revealed two
problems - The model was wrong,
- The greedy algorithm was too expensive.
60Use a good research method
The research procedure
- The customer has a problem.
- The researcher produces an initial model of the
problem. - Repeat
- The researcher solves the problem, according to
the model. - The researcher evaluates the solution of the
model problem. - The customer evaluates the solution to the real
problem. - The researcher adjusts the the model.
- Until the customer is satisfied.
61Use a good research method
- Our model was wrong
- At a micro-level, the plotter pen moved in three
ways - Horizontally
- Vertically
- (some plotters) At 450 to horizontal
- Each micro-movement takes one unit of time.
- This implies that the distance function is L1 or
Linf rather than L2.
62Use a good research method
- Mathematical Evaluation
- It was easy to check that the mathematical
results remain true for any distance function,
and this change in model did not change the
theorems significantly. - Experimental Evaluation
- We repeated the experiments and the results did
not change significantly.
63Use a good research method
- Our solution was not efficient
Greedy Algorithm
Plotter instructions
Real plotter
The greedy algorithm runs in time O(n2). This was
slower than the drawing procedure.
64Use a good research method
- Solution optimize one buffer-sized section at a
time.
plotter
Plotter mechanics
Greedy Algorithm
Buffer
An optimized bufferfull is sent from the greedy
algorithm to the buffer whenever the plotter
exhausted the current buffer.
65Use a good research method
- The bufferised greedy algorithm was almost as
effective as the straight greedy algorithm, and
much faster.
plotter
Plotter mechanics
Greedy Algorithm
Buffer
66Use a good research method
- Lessons from the plotter problem
67Use a good research method
- Its more complex than that . . .
- Firstly, there are loops within each step
- The customer has a problem.
- The researcher produces an initial model of the
problem. - Repeat
- The researcher solves the problem, according to
the model. - The researcher evaluates the solution of the
model problem. - The customer evaluates the solution to the real
problem. - The researcher adjusts the the model.
- Until the customer is satisfied.
68Use a good research method
- Secondly, in many projects
- All three measures need considerable refinements
- One can only compute one or two of the three
measures - One can compute one measure subject to fixed
values of another.
Effectiveness
Measures
Elegance
Efficiency
69Use a good research method
Thirdly, evaluations tend to be combinations of
the three basic evaluation methods.
Mathematics
Evaluation methods
Experiments
UCST
70Use a good research method
- My advice
- To find a solution
- Use your own skills
- Read a lot
- Attend seminars and conferences
- To evaluate your solution
- Concentrate on mathematical and experimental
methods, avoid UCST - Relate your results to effectiveness, efficiency
and elegance
71How to get a PhD in information technology
- 3. Write lots of good papers
72Write good papers
- You can write
- Papers in NLCs (nice local conferences)
- Papers in IK-CCs (international
killer-competitive conferences) - Papers in journals
- Chapters in books
- Books
- Students mostly write conference papers I will
concentrate on this.
73Write good papers
- There are three basic kinds of conferences
NLC
IK-CC
Conferences
Any many in between
Scams
74Write good papers
- How the process works
- You write the paper
- You submit the paper to the program committee
chair - The program committee chair sends it to members
of the program committee (takes about a week) - They read it (in about 4 weeks) and write a brief
report. They decide whether to accept your paper - If your paper is accepted, you revise the paper
according to the referees comments (2 4 weeks) - You give a talk at the conference
75Write good papers
- How do the program committee decide which papers
to accept? - In most cases, the papers are scored and sorted
on score. - Very few papers get a very high score or very low
score. - Accept/reject decisions for middle-score papers
can be fairly arbitrary
10 - 20 Obviously Accepted
10 - 20 Obviously Rejected
60 - 80 random and ad-hoc decisions
76Write good papers
- Three steps
- Write a good conference paper
- Choose a good conference, and adjust your paper
to that conference - Send the paper, sit around and hope that it is
accepted
77Write good papers
- Write a good conference paper
- Assuming that that the page limit is 10 pages
0
Motivation and background
Everyone understands
3
Main results
Experts understand
8
Everyone understands
Conclusion
8.5
References
10
78Write good papers
- 2. Choose a good conference, and adjust your
paper to that conference - Choose a conference
- The best conference possible
- A good program committee
- Realistic deadline
- Avoid scams
- Adjust your paper
- Motivation aimed toward the conference community
- Research methods that are familiar to the
conference community - Dont insult people on the program committee
79Write good papers
- 3. Send the paper, sit around and hope that it is
accepted - Dont worry if it is rejected.
80Write good papers
- How to get your paper rejected
- The top methods
- Write in bad English
- Be unaware of current trends in the specific
conference community - Organize your thoughts badly
- Omit motivation
81How to get a PhD in information technology
- 4. Give lots of good talks
82Give good talks
- Giving a talk is beneficial to the speaker
- It helps you
- define your problem
- understand your own work
- organize your ideas
- become famous
- write a thesis
- It brings feedback from others
83Give good talks
- You can present your research
- At IK-CCs
- At NLCs
- To research visitors to your lab
- As a poster / web page
- At PostGrad sessions
- To your supervisor
- To your associate supervisor
- To your sister . . .
At least twice in 3 years
Twice per year
Often
Continuously
Often
Very often
Often
84Give good talks
- How to give a talk at a conference
- Giving a talk consists of three elements
- Organization
- Talking and walking
- Visuals
- These elements vary depending on the type of
presentation. - Some comments about research conference
presentations . . .
85Give good talks
Everyone understands
Some understand
86Give good talks
- Example
- Title Fast spatial data mining in low dimensions
0
Data mining helps people
5
- Your data mining algorithms
- description at a high level
- no proofs, no details
Everyone understands
15
Proof of the 2D case
Some understand
20
Chart of experimental results
23
Repeat main results
25
87Give good talks
- b) Talking and walking
- Look at the audience as much as possible
- Choose specific people to focus on
- Speak slowly and clearly, and avoid idiomatic
English - English is a second language to most people in IT
- Use your hands for expression
- avoid holding a microphone
- Dont waste time
- Check your data-projector/laptop connection
- Have your OHP slides well sorted out before you
start
88Give good talks
- c) Visuals
- Use a medium that is suitable
- Use a computer for graphics
- Use a blackboard for mathematics
- Use a medium that is well supported by the local
system - Ensure that your visuals are perfect
- No speeling errors
- No spacing errors
- Attractive layout (e.g., avoid linebreaks as much
as possible) - Dont use visuals as notes to yourself
- Use pictures wherever possible
- Avoid ducks
89Give good talks
- Look at the audience avoid ducks
90Give good talks
- Look at the audience use your hands
91Give good talks
- Look at the audience avoid holding a microphone
ensure that your slides are perfect
92Give good talks
93Give good talks
- Ensure that your slides are perfect
94Give good talks
- Use the slides for the audience, not as reminders
for you
- Formal specification of Security Protocols
- The need for security
- The need for formal specification
- Porter and Quirks language
- Inadequacies
95Give good talks
- More advice
- Give a practice talk to your team
- Ask people to look out for
- errors and ducks in the visuals
- idiomatic and ambiguous English
- not looking at the audience
- and write it all down, and tell you
- Video the talk, look at the video
96How to get a PhD in information technology
97Write a good thesis
- It is very important to write a good thesis.
- Your 3 years of PhD research are examined on the
basis of - your thesis.
- your thesis.
- your thesis.
- Not on the basis of
- Computer systems that you have written
- Undergraduate tutorials that you have given
- Ideas that you have had but not written down
98Write a good thesis
- The examiner reads your thesis, and not much
else, then writes a very simple report.
Plus three or four pages of comments . . .
99Write a good thesis
- Your examiner basically just ticks a box
100Write a good thesis
- Your examiner basically just ticks a box
- Award a PhD
- Award it after some minor corrections
- Award it as long as the student makes some
corrections - Ask the student to rewrite part (or all), and
re-submit - Tell the student to go away.
101Write a good thesis
- Evaluation of a thesis
- Examiners are basically asked
- Is this a good thesis?
- The evaluation measures vary from one University
to another. - Some typical measures
- Original and significant contributions
- Methodology
- Expression
- Scholarship, reference to literature
102Write a good thesis
- Length
- The research content of a thesis should be about
3 good journal papers. - However, a thesis is different from a paper
- It has to tell a single story
- More background
- More references
- Extensive evidence of all the claims
- (sometimes) Justification of the research
methodology
103Write a good thesis
- My advice before you begin to write
- Carefully read at least one thesis from someone
outside your field. - Read at least 3 examiners reports
104Write a good thesis
- My advice The writing process
- Take 3 4 months
- Write about 150 pages about 3 pages per day for
the first draft - Ensure that your supervisor reads every word
- Get someone outside your field to read the
introduction - List your original contributions in the first
chapter
105Write a good thesis
- How to get your thesis rejected
- Some top methods
- Take a job before you submit
- Teach more than one undergraduate unit
- Dont evaluate your solutions
- Ignore feedback
- Be unaware of current trends in your research
community - Organize your thoughts badly
- Write a very long thesis
106Winding up now
- Topics that I have not mentioned
- Part-time or full-time?
- Managing your time
- Three stages of a PhD candidature
- Learning
- Research
- Writing
- What do you do when something goes wrong?
- PhDs and careers
- What kind of PhD leads to an industrial career?
- What kind of PhD leads to an academic career?
107How to get a PhD in information technology
- Conclusion
- Find a good topic
- Find a good supervisor
- Use a good research method
- Give lots of good talks
- Write lots of good papers
- Write a good thesis
7. Have fun . . .
108How to get a PhD in information technology
- Read all about it
- J. Zobel,
- Writing for Computer Science,
- Springer 1997.
109How to get a PhD in information technology
- Read all about it
- E. M. Phillips and D. S. Pugh,
- How to get a PhD,
- Open University Press, 2000.
110How to get a PhD in information technology
- Read all about it
- D. Lindsay,
- A Guide to Scientific Writing,
- Longman Cheshire 1984.
111How to get a PhD in information technology
- Read all about it
- E. Tufte,
- Three books on presentation of information,
- 1980s 1990s