Joining the Liberty Research Group

If You Have Already Been Accepted To Princeton...

Let's talk. I am currently taking students, and I do have funding for them.

If You Are Interested In A Summer Internship...

I am not interested. Please do not contact me. I delete all such requests without reading them.

If You Are Interested In Applying to Princeton...

Before you contact me, read this page completely. Most of the questions I receive are already answered on this page and on the pages it references. Reading this first shows that you value my time just as I would hope that you would like others to value yours.

I apologize in advance for what may seem an overly pedantic tone. However, I can quite honestly say that every point mentioned on this page is here only because I have received multiple e-mails on that topic. Most of this page is basically common sense coupled with some general instructions.

Why Have This Page?

Every week, I receive a few letters about graduate school at Princeton. If I had the time to answer all of these letters in great detail, I would. However, that's not really possible for a variety of reasons, so I've put together this page to save me (and you) some time. Having read this page demonstrates that you are serious about your inquiry, and I'm much more likely to respond to your e-mail. If you ask questions that are already answered on this page, or if you fail to follow the relatively simple directions on this page, I'll know that you're not willing to spend time looking into the matter, and I'll summarily delete your e-mail. If this sounds harsh, it is. However, the simple fact of the matter is that most of the people who send me e-mail usually send the same message to every professor in the department. This is a waste of everyone's time, and it usually indicates that the applicant cares less about everyone else's time than his/her own.

How Do I Start The Application Process?

Believe it or not, the Princeton CS department has a fairly well-written page that describes the process of applying to graduate school. It's available from our department's main web page, under the "Academics" heading, linked as "Graduate Program". I won't provide a direct link here since it's subject to change and I hate broken links. However, it's relatively simple to find, and it is quite comprehensive as of this writing. In fact, it contains answers to the questions most people send me via e-mail, such as

  • what about financial aid?
  • what are the minimum GRE scores?
  • is the subject test required?

What you should NOT do is often as important as what you should do. Please follow the guidelines in the pages I mention above. Princeton has a fairly well-established orderly set of procedures in place to process graduate student applications. It's pretty hard to successfully pull an "end run" around this process for a variety of reasons. The most important reason is that each grad student that any member of the faculty wishes to admit is reviewed by the entire faculty. So, the possibility of an end run around the system is close to nil.

In particular, there are some things that you should not do:

  • do not pit professors against each other - Too often, some applicant decides to ask several professors leading questions and then tries to compare their responses. It's usually considered impolite at the least, and manipulative at the worst. Put another way - if you don't act in good faith during your application process, why should anyone believe that you'll be any better once admitted?
  • do not pit schools against each other - If you ask me for an opinion about a school, I may give it, and it will often be frank. If you decide to then forward that message to someone at that school and ask for their rebuttal, you'll have two annoyed professors on your hands. Again, this goes back to the issue of acting in good faith.
  • please do not send me your application, resume, application materials, etc. - I have no power to do anything in between meetings of the graduate admissions committee, and even if I did, Princeton's CS department does not accept graduate students mid-year. To avoid confusing the process, the simplest approach is to send your application along with supporting documents through the official channels at the appropriate time. If you have a specific question you'd like addressed, ask it. However, if you just send along a resume, I have no idea what you want done with it. If you want to know what your chances are of getting into Princeton, see the answers below or read the FAQ mentioned above.
  • do not send me large attachments in e-mail - I use an old-fashioned text e-mail program, and handling attachments is annoying. If you really want me to see something, provide a URL. Services like Geocities (and others) provide free web pages, so even if you don't have your own account somewhere, it's possible to put the information somewhere on the web.
How Do I Get Further Information About Graduate School?

The answer to this one is "it depends" - if you want further information about a particular professor's research, write directly to that professor. If the information is about the program itself, write to the department's graduate coordinator. At the time of this writing, that person is Melissa Lawson. Be nice to her because she wields a fair bit of power. If you show up at Princeton, she actually holds an enormous degree of control over how smoothly your life progresses in graduate school.

What Are My Chances of Being Accepted?

In general, if you stand out among the various applicants, your chances are good. What makes a person stand out is some combination of the following:

  • good scores - GRE, subject test, undergraduate, etc.
  • recommendation letters - a good letter that proves the professor knows you is valuable
  • experience - if you have some interesting experience that works in your favor, tell us
  • few felony convictions - while jail time is always a crowd pleaser, so is stability
  • following directions - really. An amazing large number of people can't seem to fill out their forms properly, and if you are one of the few who follow directions, you're already one step ahead of the game


Some of the things that don't help include

  • cash - we don't care if you can pay for grad school, because we don't charge you for it
  • name-dropping - unless the people you name are writing your thesis, they'll be of little help in school
  • being obnoxious - there's far too little time in the world to deal with truly obnoxious people. If you unduly harass the administrative staff, we will hear about it. If you harass the professors, you're probably not too bright. If you decide to nit-pick the e-mail responses from professors who answer questions about the application process, then you're really not too bright.

Are You Taking New Students?

Yes, I am currently taking students, and I do have funding for them. The areas of my research are described on my home page, and my current research is some extrapolation of what's written there. When I state that I am accepting students, this does not imply that I admit anyone directly. So, the process of becoming my student is the following: apply to the graduate program in general, get accepted, and then contact me. As I've written above, do not send me your application and resume right now. Doing so proves that you're capable of ignoring the instructions written several times in this single page.

What Is Your Ideal Student?

I'm not looking for slave labor, nor am I looking for programming drones. The ideal student for me is some combination of being bright and being hard-working. Coupled with this is the desire to actually pursue research, which is some catch-all term for investigating an area where you don't have all of the answers. I'd rather deal with someone who's willing to be a little risky and come up with nothing than someone who's willing to risk nothing and comes up with nothing exciting. Research by its nature is an inherent gamble. However, it's a risk that can be managed - if you aim for something ambitious, you may not graduate in four years. However, when you do graduate, chances are that you'll have far more interesting options than someone who just wanted to get out as quickly as possible.

That being said, I also want someone who is practical - a working incomplete system is far more useful than a complete but non-working system. So, some amount of programming is almost always needed in order to get your PhD. In fact, chances are good that you'll do a fair bit of programming on your own projects. Such is life.

Can You Tell Me More About the Liberty Research Group?

I recommend that you become familiar with the Liberty Research Group page and read our papers. That will give you an idea of what we have been doing in the past. In general, we are interested in computer architecture research. Since almost all code goes through a compiler, my group believes that great computer architecture research involves back-end compiler work. The move to multicore makes this statement stronger than ever. My group is not currently interested in areas outside of compilers and computer architecture.

What If I Still Have Questions?
If you have more questions, I'm willing to provide more answers. However, I need to have some proof that you've bothered to read this far. So, what I ask is that if you want to write me a question, please put the word "blue" in all caps at the beginning of your subject line. This will let me (and my spam filter) know that you read this whole page and that I shouldn't just delete your e-mail.

Thanks to Vivek Pai for the idea and for much of the text of this page.