- 77 Views
- Uploaded on
- Presentation posted in: General

How to get a PhD in Information Technology

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

How to get a PhD in Information Technology

Peter Eades, PhD

- 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

1. Find a good topic

Keywords in Armenian

Phylogenia of p-systems: the case k=4

Two extreme topics

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 k=1, k=2, and k=3; I will study k=4.

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

Two extreme topics

- 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

My advice

Most people do better in a team.

- Most IT theses are somewhere in the middle; other sciences tend to be more team oriented

Independent Part of a team

2231-1 is a prime number

2231-1 is a prime number

Two extreme topics

Irene the introvert

Eddie the extravert

This problem has been bothering me for decades. I can’t 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.

I’ll try to solve the problem.

Irene the introvert: self-motivated, wants to find out for her own sake.

Eddie the extravert: Has a customer who wants to know, he will try to find out

Two extreme topics

There is no customer

Customer oriented

The customer may be an industrial partner, or a separate community of academic researchers

My advice

Always ensure that your research has a customer

Introspective Customer-oriented

The effect of the use of critical path planning in managing software projects

How to manage software projects

Two more extreme topics

Narrow Nancy

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.

Assume

an OO design method

Java

small teams

10K – 100K SLOC

Investigate effect of

use of critical path planning

Investigate the effects of

15 different design methodologies

7 different programming languages

Small – huge SLOC

17 different planning methods

Narrow and broad

Broad Betty

Narrow Nancy

My advice

Choose a narrow and deep topic, and choose your variable and fixed parameters very carefully.

Narrow Wide

Robustness theorems for non-pre-emptive scheduling methods

Disk cache scheduling for Gnu C++ memory management on a Pentium 4 processor running Solaris

Another two extreme topics

Andy the applicationist

Fred the fundamentalist

Fundamental topic: abstraction of specific hardware and software

Applied topic: specific hardware, specific software

P=NP

Web-enabled distributed data mining for ubiquitous computing in XML

Another two extreme topics

Popstar Paul

Classical Kirsty

I want to solve an problem that has defeated many others

I want a lot of newspaper coverage

Classical hard

problems

New hot topics

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.

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

- Thesis structure:
- Fundamental principles
- Case studies
- Refer to case studies of other team members

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

- 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

- 2. Find a good supervisor

- The relationship between supervisor and student is very important.
- It’s 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 don’t get a chance to choose a supervisor;
- But if you have a choice . . .

- 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

- 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?

- b) X should be a good researcher
- Is X cited often?
(From www.citeseer.com:

Citeseer_count/2 > years_since_PhD ? )

- Does X publish lots of papers?
( journal_paper_count > years_since_PhD ? )

- Is X cited often?

- 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?

- 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?

- 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?

- My advice
- The three bananas may never come up together, but you should try for at least two.

- 3. Use a good research method

- 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.

The research procedure

- Researchers have several roles to play
- Create and adjustmodels of problems
- abstract away non-essential details
- use scientific theories and formalisms

- Solvemodel problems
- Use skills in CS/Math/sociology/psychologycommonsense ..
- Form hypotheses

- Evaluate solutions to model problems
- Use skills in Math/Experiments/UCST

- Present solutions to other researchers and to customers

- Create and adjustmodels of problems

- 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.

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

- We need to know
- How to create/adjust a model?
- How to find a solution?
- How to evaluate a solution?

- Create/adjust a model

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.

Researcher B

B: Model of

problem A

- Good researchers can only consider a few parameters at a time.

Researcher C

C: Model of

problem B

. . .

- In practice, PhD students may be involved at level B or C or even D …

- In practice, many models are models of models.

Researcher A

Real

problem

A: Model of the

real problem

- 2. Finding a solution
- Solutions are artifacts that help the customer.

Artifacts that make up a solution

Programs

Metaphors

Protocols

Architectures

Algorithms

. . . .

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

. . . .

- 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

- 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

- Evaluation measures
- There are three basic measures for the quality of a solution:

Effectiveness

Measures

Elegance

Efficiency

- 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.

- There are three basic evaluationmethods

Mathematics

Evaluation

methods

Experiments

UCST

And many combinations of these approaches

- 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.

- Example: the plotter problem
- A pen plotter is a calligraphic device: it has a pen which moves over the paper to draw the picture.

- 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

- 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

- (20,80)

- Say speed = 5cm/sec
- Bad solution:
- Pen-up time = 71 seconds.

- Good solution:
- Pen-up time = 6 seconds

(80,80)

(20,20)

(80,20)

- 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.

- 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 k=1 to NUM_PRIMS-1
Choose kth so that its start point is the closest unused start point to the previous finish point.

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.

- 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”.

- 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

- The optimal path is shorter.

Total pen-up time =~ 7

- 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 ……

Random

Measure Pup

Compute LBOPT

Calculate Pup/LBOPT

Customer-supplied

Benchmark

- Experimental Evaluation

Greedy

Algorithm

Plotter

instructions

Effectiveness

test

- Experiments showed that greedy is very close to optimal: for larger plots it is within 10% of optimal.
- BUT . . .

- 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.

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.

- 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.

- 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.

- 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.

- 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.

- The bufferised greedy algorithm was almost as effective as the straight greedy algorithm, and much faster.

plotter

Plotter

mechanics

Greedy

Algorithm

Buffer

- Lessons from the plotter problem

- It’s 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.

- 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

Thirdly, evaluations tend to be combinations of the three basic evaluation methods.

Mathematics

Evaluation

methods

Experiments

UCST

- 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

- 3. Write lots of 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.

I will concentrate on IK-CC and near IK-CC

- There are three basic kinds of conferences

NLC

IK-CC

Conferences

Any many in between

Scams

- 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 referee’s comments (2 – 4 weeks)
- You give a talk at the conference

- 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

60 - 80%

random and ad-hoc decisions

10 - 20%

Obviously

Rejected

- 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

- 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

- 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
- Don’t insult people on the program committee

- 3. Send the paper, sit around and hope that it is accepted
- Don’t worry if it is rejected.

- 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

- 4. Give lots of 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

- It helps you

- 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

- 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 . . .

0

Motivation

5

Overview

of the

research

15

Something difficult

20

Overview

23

Conclusion

25

- Organization

Everyone understands

Some understand

- 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

- 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

- Don’t waste time
- Check your data-projector/laptop connection
- Have your OHP slides well sorted out before you start

- Look at the audience as much as possible

- 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)

- Don’t use visuals as notes to yourself
- Use pictures wherever possible
- Avoid ducks

- Use a medium that is suitable

- Look at the audience; avoid ducks

- Look at the audience; use your hands

- Look at the audience; avoid holding a microphone; ensure that your slides are perfect

- Look at the audience

- Ensure that your slides are perfect

- 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 Quirk’s language
- Inadequacies

- 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

- 5. Write 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

- The examiner reads your thesis, and not much else, then writes a very simple report.

Plus three or four pages of comments . . .

- Your examiner basically just ticks a box

- 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.

- 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

- 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

- My advice: before you begin to write:
- Carefully read at least one thesis from someone outside your field.
- Read at least 3 examiners reports

- 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

- How to get your thesis rejected
- Some top methods
- Take a job before you submit
- Teach more than one undergraduate unit
- Don’t evaluate your solutions
- Ignore feedback
- Be unaware of current trends in your research community
- Organize your thoughts badly
- Write a very long thesis

- 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?

- 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 . . .

- Read all about it
- J. Zobel,
Writing for Computer Science,

Springer 1997.

- Read all about it
E. M. Phillips and D. S. Pugh,

How to get a PhD,

Open University Press, 2000.

- Read all about it
D. Lindsay,

A Guide to Scientific Writing,

Longman Cheshire 1984.

- Read all about it
E. Tufte,

Three books on presentation of information,

1980s – 1990s