What is computer science research?
- Research is the systemic investigation to establish facts and reach new conclusions.
- We don't know the answer or how to get it.
- Experimental research involves:
- observing a problem
- generating a hypothesis
- developing a strategy to solve the problem
- performing experiments, demonstrating evidence
- interpreting results
- Theoretical research involves:
- identifying an open problem
- proofs, analysis of hypothesis
- a possible combination with experimental research
These ideas were generated from audience discussion. I suspect some of these are probably worthy of a Masters dissertation, but be sure to ask the experts before assuming as much!
- Figuring out how existing software applications work (though this might be part of the observation stage of research).
- Implementing an existing algorithm or solution (again, might be a step toward completing the overall research).
- Comparing various solutions against a benchmark.
- Developing new metrics for comparison, unless you can show why the new benchmarks are useful or give new information.
- Putting together software components in a new way, unless you can show that you are solving the problem in a better way by doing so.
- Make sure the area grabs the interest of you, your supervisor, and your research community.
- Gain breadth (say, in your courses) to broaden your options.
- Love your topic! You will be spending 2-3 years on it, and it may be defining your post-grad options.
- Think about your strengths and weaknesses. Are you good or bad at programming, design, data analysis, or proofs?
- What drives you? What bores you? Technology, puzzles, applications, interdisciplinary work?
- Check how much funding there is in your area.
- Did you find an advisor before your area? This is fine, but know that it may limit your choice of area.
- Make sure you find an advisor that in knowledgeable in the area you will work in, and that is compatible with you in terms of working/mentoring style.
- An 'area' is too broad for a thesis - must narrow down to a specific topic.
- A topic is a set of open questions, or a well-defined problem.
- Characteristics of a PhD topic (from audience discussion):
- novel, open problem
- high impact
- non-incremental solution
- community is interested
- can measure success
- Flash of brilliance: You wake up one morning with a brilliant idea. This is rare, and you will have a hard time selling the idea to your supervisor.
- The apprentice: Pick something from a list of topics your advisor has. Be careful that you are not picking something boring, fruitless, or that other students might also choose.
- Extended course project: Take a project course that leads to a new perspective. You may get lucky and be able to extend it to a thesis topic, but if not, you may get distracted from your topic search.
- Redo, reinvent: Identify improvement to an algorithm or proof, discover a new topic. This may lead you to be without a topic for a long period of time, and you run the risk of it not being dissertation worthy.
- Analyze data: Help a senior student with their project, potentially leading to new open challenges and a new topic. Be sure to agree which of you will actually get to work on the open problem.
- The stapler: Weave together a number of small topics (such as those from various conference papers). Finding the tie might be challenging.
- Synthesis model: Read papers, make connections, get insights. The downside is you may spend lots of time reading papers without a topic.
General tips (and what to do when stuck)
- Both your topic and your advisor are important to your success.
- Keep a research ideas journal and wiki (I use private Google Docs to make notes to share only with my supervisor rather than the whole world, as would likely happen with a research blog).
- Keep an annotated bibliography. (See these posts for advice on organizing your research papers.)
- Follow your interests and passions.
- If you just aren't really getting into the topic, adapt!
- Read and present papers regularly to find open research problems (pay special attention to the future work section, often in the paper's conclusion).
- Work with a senior PhD student on their research.
- Actively participate in research meetings.
- Get feedback and ideas from others. Attend conferences, listen for open problems, talk to attendees, do internships.
- Read a PhD thesis in your area.
- Read advisor's grant proposals.
- Attend thesis and proposal defences.
- Assess your progress with your supervisor.
- Divide your project into milestones.
- Remember that change can be invigorating, but it can also slow you down.
- Also remember that you run the risk of being scooped if you are choosing a topic in a hot area.
Prof. Pollock recommended the ACM articles on How to Success in Graduate School (Part I and Part II), which I haven't read yet but am about to. If you are further along in your PhD, I'd love to hear which of these tips worked (and didn't) for you, and any other advice you have.
All of these are very good tips (except maybe for reading a thesis; in my domain, nobody reads theses, unless you're interested in some nitty-gritty details that didn't make it into the published papers; it's extremely rare when you have a thesis with unpublished work, and then the quality of the thesis may be questionable).
ReplyDeleteThere are a couple of things that I would add. First, there is no recipe for success. You may try all these tips and end up with no thesis topic... Second, it's very important to start experiment with ideas early on. Reading about other people's work will not necessarily help you come up with an idea. It can also make you feel busy while you're making no real progress. Don't take me wrong: reading is importnat, but it's your own "doing" that will help crystalize an idea.
Best of luck with finding your research topic!
Thanks for posting this! It was one of the first few search results on Google and I'm really glad I found it. I know I am interested in going back to school but I just don't know what's a good research topic to begin with!
ReplyDeleteGlad it was useful! Be sure to read Ioana's additional tips, too.
ReplyDeleteWould you happen to have any tips on how to get back to school? I've been out of school for some time but I am looking to go back for a Masters/PhD. I knew a professor once but it seems like he's left the university. I thought I might email some current profs or PhD students and talk to them to help them out with their research. Not sure if that will be helpful or not though.
ReplyDeleteI don't have experience with that myself, but the advice I always hear is to do just that: talk to profs you might be interested in working with. No idea if it's common to try to work with them before starting grad school, but asking would just make you look interested and enthusiastic, which can't be a bad thing! It seems that applying is always way easier when you already have someone willing to be your supervisor.
ReplyDelete