Tips and Tricks For New Science Students

Jamie and I had lunch last week with Greg Wilson, who has done yeoman's work getting students to use software productivity in research. Along those lines, I thought I might be able to offer up a some advice on how to make your life easier as a student in a scientific field.

First, check out Software Carpentry. Greg and his group offer lots of details about how to get going. He is planning a major overhaul of the course in 2010 that will include being able to take the course online. We're proud that we're getting to help Greg while he develops this new coursework.

For me, I can only talk about what I did when I was a graduate student, and what I have subsequently learned that would have helped when I was a graduate student. Here's a brief list that I will try to expand on in later posts.

  1. Learn a scripting language that can be run as a "Read-Evaluate-Print-Loop" (REPL) in a command line. This will allow you to write up quick programs on the fly to process data, organize your files, and generally get answers faster. Scripting languages that do this include:
    • Perl -- old but still widely used in the bio-sciences.
    • Ruby -- the new hotness
    • Python -- probably the most solid science dynamic language.

  2. Learn to use the shell prompt. On Linux and the Mac, it's pretty easy to get started with bash or zsh. On Windows, I'd recommend jumping into Powershell.
  3. Use version control. I would use version control for everything. I mean text files, Word documents, everything under my /home/ directory. At this point in time for a single user, I'd go with Git. Git allows easy branching and merging, meaning you can make easy changes to your files without losing your changes. There are command line clients for linux, Mac and Windows, as well as GUI clients for Mac and Windows, and a Windows Explorer integration too.
  4. Backups: This is separate from version control. You need to have backups of your files that are not on your main computer. You only need to hear the hard drive "click of death" to know that you need a backup. Preferably, this back-up should be offsite, wherever you don't keep your computer. Nothing like having your apartment busted into, and have both your laptop and backup drive stolen. You can do backups and store them in a separate location, or use a "cloud" base solution like Mozy, Carbonite, or Dropbox. Most of these services have a free option for storage under 2 Gb of data.
  5. Statistics: Take a stats course. Learn it, live it.
  6. Numerical Methods: Learn how to code numerical methods, especially simple Monte Carlos. Being able to get an estimate of what you expect the right answer to be is invaluable.

As I said, I will try to expand on these ideas in future posts.

Post new comment

The content of this field is kept private and will not be shown publicly.