Recommendations for Aspiring Graduate Students

  • Get funding. If you don't, expect to spend a lot of time waiting for equipment and other resources. Also expect to spend some of your own money.
  • Make sure you understand what the project involves from start to finish. You need to know that you are both willing and able to do all the tasks required. This is difficult, especially if you don't even understand your project yet. But do it anyway. I can't even begin to tell you how many times I thought I was nearly done and then found out I need to do x, y, and z of which I've never even heard.
  • Remember that unlike many of your undergraduate projects, if you want to graduate, you absolutely have to get the project working. Or at least be able to demonstrate why a finished project is unrealistic.
  • There will be unexpected problems. Things will go wrong. You will get stuck on problems for large amounts of time. You will not finish when you planned on finishing. (If you do, there's a good chance your project was too easy.)
  • People go on vacation during the summer. Keep this in mind.
  • Don't be afraid to ask for help and resources from professors. Even if your advisor can't help, he might know someone who can.
  • Backup work you do on the computer frequently.
  • Document everything!!! I didn't do this at all. If you're going to be switching between tasks often, this will be a big help. Write down every change you make and every document you use. Draw pictures. Document every single step of code in great detail (especially if it's complicated numerical code).
  • People will ask what you're working on over and over and over again. Write an explanation with pictures and put it on a web site. This is good for employers to see too. And it will help prepare you for writing the thesis.
  • Always start small. Once you get the basics working, then worry about the real project. If you're coding, write small test programs first to gain experience and make sure you understand the problem.
  • Read and re-read text books and journal articles. The 35th time it may finally make sense. Try some homework problems if you need to.
  • It won't work the first time. It won't work the 10th time. It won't work as well with real data in a real environment as it did in simulations. Make absolutely sure your simulations are working before you even attempt to do the real thing.
  • You might lose motivation when you get stuck for long periods of time, but don't give up!!!
  • You can take classes in other majors if it helps. I'm glad I took linear algebra, probability, and numerical analysis as an undergraduate. I've never been told I can't sit in on lectures I haven't paid for.
  • Keep in mind, the amount of work left on the project is independent of the amount of work done so far.
  • If you use latex for your thesis, be careful how you store images. (I suppose this is true even if you don't use latex.) If you hand draw an image or if you copy/paste one from the screen it will probably be at the screen resolution instead of the higher printer resolution. I never thought about this until my advisor asked me about the quality of my images.
  • If you're running a lot of experiments on the computer, consider some type of maintenance system like CVS. It gets hard to keep track of all that code. If you're not careful, you may find you can't get old experiments to run months later.