Presentation on theme: "How to get a PhD in Information Technology"— Presentation transcript:
1 How to get a PhD in Information Technology Peter Eades, PhD
2 How to get a PhD in information technology Six stepsFind a good topicFind a good supervisorUse a good research methodGive lots of good talksWrite lots of good papersWrite a good thesis
3 How to get a PhD in information technology 1. Find a good topic
4 Now I can use my time as a PhD student to prove it. Find a good topicTwo extreme topicsKeywords in ArmenianPhylogenia of p-systems: the case k=4Team member TerriIndependent IraI 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.
5 Find a good topicTwo extreme topicsIndependent Ira: has an idea, and wants to pursue it, even alone.Team member Terri: adds a bit to a long term project of her supervisorDangerous topicmay lead nowheremay be uncompetitiveCan be satisfying for some peopleFunding unlikelySafe topicCan be satisfying for some peopleMore chance of funding
6 Independent topic Part of a team Find a good topic Advantages More exciting for some peopleDisadvantagesFunding unlikelyDangerous at examination timePart of a teamAdvantagesBetter support from colleagues as well as your supervisorGood chance of fundingDisadvantagesCan be boring for some people
7 Independent Part of a team Find a good topicMy adviceMost people do better in a team.Independent Part of a teamMost IT theses are somewhere in the middle; other sciences tend to be more team oriented
8 Find a good topicTwo extreme topicsIrene the introvertEddie the extravertis a prime numberis a prime numberThis 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,I’ll try to solve the problem.
9 Find a good topicTwo extreme topicsEddie the extravert: Has a customer who wants to know, he will try to find outIrene the introvert: self-motivated, wants to find out for her own sake.There is no customerCustomer orientedThe customer may be an industrial partner, or a separate community of academic researchers
10 Customer-oriented research Find a good topicIntroverted researchAdvantagesMore exciting for some peopleDisadvantagesFunding unlikelyMay be worthless to everyone except yourselfCustomer-oriented researchAdvantagesGood chance of good feedbackGood chance of fundingBetter scientific criticismBetter grounded in realityDisadvantages
11 Introspective Customer-oriented Find a good topicMy adviceAlways ensure that your research has a customerIntrospective Customer-oriented
12 Find a good topicTwo more extreme topicsNarrow NancyThe effect of the use of critical path planning in managing software projectsHow to manage software projectsBroad BettyNarrow and deep: An investigation of a few variable parameters, with many parameters held fixed.Wide and shallow: Considers many parameters at once.
13 Find a good topicNarrow and broadBroad BettyNarrow NancyAssumean OO design methodJavasmall teams10K – 100K SLOCInvestigate effect ofuse of critical path planningInvestigate the effects of15 different design methodologies7 different programming languagesSmall – huge SLOC17 different planning methods
14 Narrow and deep topic Wide and shallow topic Find a good topic AdvantagesMore chance of pushing the boundary of knowledgeMore excitingDisadvantagesYour “model” may be too abstract and unrealisticIt’s hard to choose the variable parametersWide and shallow topicAdvantagesRealisticGood training for industrial researchDisadvantagesMostly boring, like a collection of honours thesesUnlikely to contribute a lot
15 Find a good topicMy adviceChoose a narrow and deep topic, and choose your variable and fixed parameters very carefully.Narrow Wide
16 Find a good topicAnother two extreme topicsDisk cache scheduling for Gnu C++ memory management on a Pentium 4 processor running SolarisRobustness theorems for non-pre-emptive scheduling methodsFred the fundamentalistAndy the applicationistFundamental topic: abstraction of specific hardware and softwareApplied topic: specific hardware, specific software
17 Fundamental topic Applied topic Find a good topic Advantages Your thesis will have a longer lifeYour work can have more applicationsDisadvantagesIt’s hard to push the boundaries very farYour “model” may be too abstract and unrealisticApplied topicAdvantagesEasier problemsMay help with getting a job in industryCan contribute a lot to a relevant areaDisadvantagesYour thesis can die youngYour employment prospects can be shortlivedRestricted applications
18 Find a good topicAnother two extreme topicsPopstar PaulP=NPWeb-enabled distributed data mining for ubiquitous computing in XMLClassical KirstyI want to solve an problem that has defeated many othersI want a lot of newspaper coverage
19 Classical topic Hot topic Find a good topic Advantages Advantages You may win the lottery and solve a hard problemYour thesis may have a long lifeBetter refereesHigher scientific qualityDisadvantagesCan be frustratingImmediate rewards can be smallHot topicAdvantagesBetter immediate feedbackWith good timing, you can get richEasier to publishEasier problemsVibrant communityDisadvantagesYour thesis can die youngScientific quality can be low
20 Find a good topicMy adviceInvestigate a fundamental and classical topic, with some applications to a couple of hot and applied topics.Another two extreme stylesClassical hardproblemsNew hot topicsThere are IT theses all over this range, but there is a tendency to be near the hot end.
21 Find a good topicGeneral advice on topicsInvestigate 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
22 Find a good topicPhD Thesis. . .Chapter 2Investigation of a very difficult well known classical fundamental problemChapter 5: Case study 1, some hot topicChapter 6: Case study 2, applied topicChapter 9 Conclusions: Refer to case studies by your colleaguesThesis structure:Fundamental principlesCase studiesRefer to case studies of other team members
23 Find a good topicA model of optimizing compilers. . .Chapter 2 Describe a new model for optimal codeChapter 3 Algorithms for creating optimal code under this modelChapter 5: Case study 1: how this model applies to mobile agentsChapter 6: Case study 2: comparison of optimal/sub-optimal code in a distributed transaction systemChapter 9 Conclusions: further support for your hypotheses from work of your colleaguesClassical fundamental problemApplications to hot and very applied topics
24 How to get a PhD in information technology 2. Find a good supervisor
25 Find a good supervisorThe 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 careerIn many cases, you don’t get a chance to choose a supervisor;But if you have a choice . . .
26 Find a good supervisorAlgorithm Find_Good_SupervisorRepeatLocate person XTest supervision quality of person XIs 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
27 Find a good supervisora) X should be a good teacherCan 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?
28 Find a good supervisorb) X should be a good researcherIs X cited often?(FromCiteseer_count/2 > years_since_PhD ? )Does X publish lots of papers?( journal_paper_count > years_since_PhD ? )
29 Find a good supervisorc) X should have lots of moneyCan 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?
30 Find a good supervisord) X should have good international contactsDoes 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?
31 Find a good supervisore) X should be in a local research teamDoes 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?
32 Find a good supervisorMy adviceThe three bananas may never come up together, but you should try for at least two.
33 How to get a PhD in information technology 3. Use a good research method
34 Use a good research method The research procedureThe customer has a problem.The researcher produces an initial model of the problem.RepeatThe 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.
35 Use a good research method Researchers have several roles to playCreate and adjust models of problemsabstract away non-essential detailsuse scientific theories and formalismsSolve model problemsUse skills in CS/Math/sociology/psychologycommonsense ..Form hypothesesEvaluate solutions to model problemsUse skills in Math/Experiments/UCSTPresent solutions to other researchers and to customers
36 Use a good research method In practice, the research procedure takes a long timeIn practice, a PhD student is usually involved in a part of the procedure, perhaps only one of:1. Creating/adjusting a model2. Finding a solution3. Evaluating a solutionThe customer has a problem.The researcher produces an initial model of the problem.RepeatThe 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 knowHow to create/adjust a model?How to find a solution?How to evaluate a solution?
37 Use a good research method Create/adjust a model1. Creating/adjusting a modelA 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.
38 Use a good research method In practice, many models are models of models.Researcher ARealproblemA: Model of thereal problemB: Model ofproblem AResearcher BGood researchers can only consider a few parameters at a time.In practice, PhD students may be involved at level B or C or even D …C: Model ofproblem BResearcher C. . .
39 Use a good research method Artifacts that make up a solution2. Finding a solutionSolutions are artifacts that help the customer.ProgramsMetaphorsProtocolsArchitecturesAlgorithms
40 Use a good research method Skills that contribute to a solutionA solution is found using the skills of the researcher.Your skill set is probably not enough to create a solution.You need toRemember your undergraduate workRead books and research papersAttend seminars and conferencesAsk your supervisorBetter research comes from a better skill base.Formal logicCompilersOO modelsConcurrencyAlgorithmsMathematics
41 Use a good research method Researchers draw on a number of fundamental skills to create a solution consisting of a number of artifacts.Formal logicProblemProgramCompilersProtocolSolutionOO modelsMetaphorConcurrencyArchitectureAlgorithmsAlgorithmMathematics
42 Use a good research method 3. Evaluating a solutionTo evaluate a solution, you needAn evaluation measure that tells you whether the solution is good or badAn evaluation method to compute the measure
43 Use a good research method Evaluation measuresThere are three basic measures for the quality of a solution:EffectivenessMeasuresEleganceEfficiency
44 Use 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.
45 Use a good research method There are three basic evaluation methodsMathematicsEvaluationmethodsExperimentsUCSTAnd many combinations of these approaches
46 Use a good research method The three methods:Mathematics: theorems, proofsExperimentsRun programs on test dataCollect data about software projectsTest systems with human subjectsNeeds skills in statisticsUCST: Try to sell your solutionThese are the only evaluation methods in information technology.
47 Use a good research method Example: the plotter problemA pen plotter is a calligraphic device: it has a pen which moves over the paper to draw the picture.
48 Use a good research method The plotter problemA 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)penDown; moveTo (20,20)penUp; moveTo (80,80)penUp; zero
49 Use 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
50 Use a good research method Say speed = 5cm/secBad solution:Pen-up time = 71 seconds.Good solution:Pen-up time = 6 seconds(20,80)(80,80)(20,20)(80,20)
51 Use a good research method The modelWe 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.
52 Use a good research method SolutionOne 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-1Choose kth so that its start point is the closest unused start point to the previous finish point.
53 Use a good research method Evaluation by UCSTThe 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.
54 Use a good research method Mathematical EvaluationThe 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
55 Use a good research method The optimal path is shorter.Total pen-up time =~ 7
56 Use a good research method Mathematical evaluationb) The greedy method is close to optimal:TheoremIf GREED is the pen-up time with the greedy solution and OPT is the pen-up time with the optimum solution thenGREED / 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 ……
57 Use a good research method Experimental EvaluationPlotterinstructionsGreedyAlgorithmEffectivenesstestRandomCustomer-suppliedBenchmarkMeasure PupCompute LBOPTCalculate Pup/LBOPT
58 Use a good research method Experiments showed that greedy is very close to optimal: for larger plots it is within 10% of optimal.BUT . . .
59 Use a good research method Experimental EvaluationWe replaced the quality evaluation with a real plotterPlotterinstructionsGreedyAlgorithmRealplotterAnd 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.
60 Use a good research method The research procedureThe customer has a problem.The researcher produces an initial model of the problem.RepeatThe 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.
61 Use a good research method Our model was wrongAt a micro-level, the plotter pen moved in three ways:HorizontallyVertically(some plotters) At 450 to horizontalEach micro-movement takes one unit of time.This implies that the distance function is L1 or Linf rather than L2.
62 Use a good research method Mathematical EvaluationIt 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 EvaluationWe repeated the experiments and the results did not change significantly.
63 Use a good research method Our solution was not efficientPlotterinstructionsGreedyAlgorithmRealplotterThe greedy algorithm runs in time O(n2).This was slower than the drawing procedure.
64 Use a good research method Solution: optimize one buffer-sized section at a time.plotterGreedyAlgorithmPlottermechanicsBufferAn “optimized” bufferfull is sent from the greedy algorithm to the buffer whenever the plotter exhausted the current buffer.
65 Use a good research method The bufferised greedy algorithm was almost as effective as the straight greedy algorithm, and much faster.plotterGreedyAlgorithmPlottermechanicsBuffer
66 Use a good research method Lessons from the plotter problemMathematicsRobust to model changesGood evaluation of pathological behaviorDoes not evaluate the modelExperimentsEvaluates the modelGood evaluation of normal behaviorPoor evaluator for pathological behaviorUCSTConvinces the non-scientific customerOK to evaluate elegancePoor evaluator of efficiency / effectiveness.
67 Use a good research method It’s more complex than that . . .Firstly, there are loops within each stepThe customer has a problem.The researcher produces an initial model of the problem.RepeatThe 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.
68 Use a good research method Secondly, in many projects:All three measures need considerable refinementsOne can only compute one or two of the three measuresOne can compute one measure subject to fixed values of another.EffectivenessMeasuresEleganceEfficiency
69 Use a good research method Thirdly, evaluations tend to be combinations of the three basic evaluation methods.MathematicsEvaluationmethodsExperimentsUCST
70 Use a good research method My adviceTo find a solution:Use your own skillsRead a lotAttend seminars and conferencesTo evaluate your solutionConcentrate on mathematical and experimental methods, avoid UCSTRelate your results to effectiveness, efficiency and elegance
71 How to get a PhD in information technology 3. Write lots of good papers
72 Write good papersYou can writePapers in NLCs (nice local conferences)Papers in IK-CCs (international killer-competitive conferences)Papers in journalsChapters in booksBooksStudents mostly write conference papers; I will concentrate on this.
73 Write good papersThere are three basic kinds of conferencesI will concentrate on IK-CC and near IK-CCNLCIK-CCConferencesAny many in betweenScams
74 Write good papersHow the process worksYou write the paperYou submit the paper to the program committee chairThe 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 paperIf your paper is accepted, you revise the paper according to the referee’s comments (2 – 4 weeks)You give a talk at the conference
75 random and ad-hoc decisions Write good papersHow 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%ObviouslyAccepted%random and ad-hoc decisions%ObviouslyRejected
76 Write good papersThree stepsWrite a good conference paperChoose a good conference, and adjust your paper to that conferenceSend the paper, sit around and hope that it is accepted
77 Write good papersWrite a good conference paperAssuming that that the page limit is 10 pages:Motivation and backgroundEveryone understands3Main resultsExperts understand8Everyone understandsConclusion8.5References10
78 Write good papers2. Choose a good conference, and adjust your paper to that conferenceChoose a conferenceThe best conference possibleA good program committeeRealistic deadlineAvoid “scams”Adjust your paperMotivation aimed toward the conference communityResearch methods that are familiar to the conference communityDon’t insult people on the program committee
79 Write good papers3. Send the paper, sit around and hope that it is acceptedDon’t worry if it is rejected.
80 Write good papersHow to get your paper rejectedThe top methodsWrite in bad EnglishBe unaware of current trends in the specific conference communityOrganize your thoughts badlyOmit motivation
81 How to get a PhD in information technology 4. Give lots of good talks
82 Give good talksGiving a talk is beneficial to the speakerIt helps youdefine your problemunderstand your own workorganize your ideasbecome famouswrite a thesisIt brings feedback from others
83 Give good talksYou can present your researchAt IK-CCsAt NLCsTo research visitors to your labAs a poster / web pageAt PostGrad sessionsTo your supervisorTo your associate supervisorTo your sister . . .At least twice in 3 yearsTwice per yearOftenContinuouslyOftenVery oftenOften
84 Give good talksHow to give a talk at a conferenceGiving a talk consists of three elements:OrganizationTalking and walkingVisualsThese elements vary depending on the type of presentation.Some comments about research conference presentations . . .
85 Give good talksOrganizationMotivation5Overviewof theresearch15Everyone understandsSomething difficult20Some understandOverview23Conclusion25
86 Give good talksExample:Title: Fast spatial data mining in low dimensionsData mining helps people5Your data mining algorithms:description at a high levelno proofs, no detailsEveryoneunderstands15Proof of the 2D caseSomeunderstand20Chart of experimental results23Repeat main results25
87 Give good talksb) Talking and walkingLook at the audience as much as possibleChoose specific people to focus onSpeak slowly and clearly, and avoid idiomatic EnglishEnglish is a second language to most people in ITUse your hands for expressionavoid holding a microphoneDon’t waste timeCheck your data-projector/laptop connectionHave your OHP slides well sorted out before you start
88 Give good talksc) VisualsUse a medium that is suitableUse a computer for graphicsUse a blackboard for mathematicsUse a medium that is well supported by the local systemEnsure that your visuals are perfectNo speeling errorsNo spacing errorsAttractive layout (e.g., avoid linebreaks as much as possible)Don’t use visuals as notes to yourselfUse pictures wherever possibleAvoid ducks
89 Give good talksLook at the audience; avoid ducks
90 Give good talksLook at the audience; use your hands
91 Give good talksLook at the audience; avoid holding a microphone; ensure that your slides are perfect
93 Give good talksEnsure that your slides are perfect
94 Give good talksUse the slides for the audience, not as reminders for youFormal specification of Security ProtocolsThe need for securityThe need for formal specificationPorter and Quirk’s languageInadequacies
95 Give good talksMore adviceGive a practice talk to your teamAsk people to look out forerrors and ducks in the visualsidiomatic and ambiguous Englishnot looking at the audienceand write it all down, and tell youVideo the talk, look at the video
96 How to get a PhD in information technology 5. Write a good thesis
97 Write a good thesisIt is very important to write a good thesis.Your 3+ years of PhD research are examined on the basis of:your thesis.Not on the basis ofComputer systems that you have writtenUndergraduate tutorials that you have givenIdeas that you have had but not written down
98 Write a good thesisThe examiner reads your thesis, and not much else, then writes a very simple report.Plus three or four pages of comments . . .
99 Write a good thesisYour examiner basically just ticks a box
100 Write a good thesisYour examiner basically just ticks a boxAward a PhDAward it after some minor correctionsAward it as long as the student makes some correctionsAsk the student to rewrite part (or all), and re-submitTell the student to go away.
101 Write a good thesisEvaluation of a thesisExaminers are basically asked:“Is this a good thesis?”The evaluation measures vary from one University to another.Some typical measures:Original and significant contributionsMethodologyExpressionScholarship, reference to literature
102 Write a good thesisLengthThe research content of a thesis should be about 3 good journal papers.However, a thesis is different from a paperIt has to tell a single storyMore backgroundMore referencesExtensive evidence of all the claims(sometimes) Justification of the research methodology
103 Write a good thesisMy advice: before you begin to write:Carefully read at least one thesis from someone outside your field.Read at least 3 examiners reports
104 Write a good thesisMy advice: The writing processTake 3 – 4 monthsWrite about 150 pages; about 3 pages per day for the first draftEnsure that your supervisor reads every wordGet someone outside your field to read the introductionList your original contributions in the first chapter
105 Write a good thesisHow to get your thesis rejectedSome top methodsTake a job before you submitTeach more than one undergraduate unitDon’t evaluate your solutionsIgnore feedbackBe unaware of current trends in your research communityOrganize your thoughts badlyWrite a very long thesis
106 Winding up now …Topics that I have not mentionedPart-time or full-time?Managing your timeThree stages of a PhD candidatureLearningResearchWritingWhat do you do when something goes wrong?PhDs and careersWhat kind of PhD leads to an industrial career?What kind of PhD leads to an academic career?
107 How to get a PhD in information technology ConclusionFind a good topicFind a good supervisorUse a good research methodGive lots of good talksWrite lots of good papersWrite a good thesis7. Have fun . . .
108 How to get a PhD in information technology Read all about itJ. Zobel,Writing for Computer Science,Springer 1997.
109 How to get a PhD in information technology Read all about itE. M. Phillips and D. S. Pugh,How to get a PhD,Open University Press, 2000.
110 How to get a PhD in information technology Read all about itD. Lindsay,A Guide to Scientific Writing,Longman Cheshire 1984.
111 How to get a PhD in information technology Read all about itE. Tufte,Three books on presentation of information,1980s – 1990s