1.12k likes | 1.23k Views
Discover key steps to obtain a PhD in information technology, including finding the right topic, supervisor, research method, giving presentations, and writing papers and thesis. Learn from examples of good and extreme topics, such as studying phylogenia of p-systems and solving prime number problems. Get insights on choosing topics, working independently or as part of a team, and balancing fundamental and applied topics for a successful research journey.
E N D
How to get a PhD in Information Technology Peter Eades, PhD
How 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
How to get a PhD in information technology 1. Find a good topic
Keywords in Armenian Phylogenia of p-systems: the case k=4 Find a good topic 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 Find a good topic 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
Find a good topic 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 Find a good topic 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 Find a good topic Two extreme topics There is no customer Customer oriented The customer may be an industrial partner, or a separate community of academic researchers
Find a good topic 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 Find a good topic 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 Find a good topic Narrow and broad Broad Betty Narrow Nancy
Find a good topic 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 Find a good topic 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 Find a good topic 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 Find 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.
Find 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
Find a good topic • 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
Find 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
How to get a PhD in information technology • 2. Find a good supervisor
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 . . .
Find 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
Find 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?
Find a good supervisor • 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 ? )
Find 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?
Find 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?
Find 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?
Find a good supervisor • My advice • The three bananas may never come up together, but you should try for at least two.
How to get a PhD in information technology • 3. Use a good research method
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
Use a good research method • 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
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. 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?
Use a good research method • 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 … Use a good research method • In practice, many models are models of models. Researcher A Real problem A: Model of the real problem
Use a good research method • 2. Finding a solution • Solutions are artifacts that help the customer. Artifacts that make up a solution Programs Metaphors Protocols Architectures Algorithms . . . .
Use 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 . . . .
Use 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
Use 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
Use a good research method • Evaluation measures • There are three basic measures for the quality of a solution: Effectiveness Measures Elegance Efficiency
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.
Use a good research method • There are three basic evaluationmethods Mathematics Evaluation methods Experiments UCST And many combinations of these approaches
Use 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.
Use 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.
Use 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
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
Use a good research method • (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)