I am currently a 2nd year PhD student at a university in Canada. My PhD program is about environment chemistry. For a long time I wanted to learn computer science, especially machine learning, and I have 1 year work experience in an IT company.

I do not have a diploma in CS, though I have learned some course about programming and have experience in some programming languages.

Now I realize that I do not like my current research about chemistry, and my research has little progress recently. I also keep thinking about changing my PhD program or transfer to another program. I am particularly interested in machine learning, and relevant researches.

What ways can lead me to that track ? Thank you.

  • 5
    PhD in CS without a CS degree sounds extremely optimistic. Perhaps getting a (self-funded) MSc in CS is more realistic. And how do you know that you will actually like research in CS, without even knowing the CS basics (algorithm complexity, data structures, databases)?
    – Alexandros
    Mar 12, 2016 at 9:29
  • Although there is no longer a GRE subject test in computer science, some sample and practice questions are available on line. I suggest trying to answer those - they represent the sort of CS knowledge that would be expected of someone entering a CS PhD program. Mar 12, 2016 at 16:31
  • 1
    Given that your current PhD is in Environmental Chemistry, and you want to switch to Computer Science, isn't this closer to starting over rather than transferring? Mar 12, 2016 at 20:27
  • I know algorithm and some data structure.
    – dog dog
    Mar 13, 2016 at 6:07

2 Answers 2


It is occasionally possible to switch to another department as a PhD student, if you can find a department/advisor who wants you. I know someone who switched from chemistry to math when I was in grad school. However it is not so common for a couple of reasons:

  1. If you weren't successful (by ability or by choice) in another PhD program, why would you be in this one?
  2. You will be taking a slot away from another potential student who is likely much better prepared than you for a CS PhD.

Getting an MS in CS first will do a lot to alleviate both of these concerns--it shows commitment to graduate work in this field and addresses your lack of preparation.

In any case, it makes sense to try to set up an appointment with the CS graduate director at your university and ask him/her about the possibility of switching to one of their grad programs.

  • He already answers 1 (he thinks he would like CS research more than EnvChem research) and 2 is wrong: If he were to get accepted, that means he is well prepared. If he was taking a spot from a better prepared student like you say, why would they accept him at all, instead of the better prepared student?
    – Superbest
    Mar 13, 2016 at 0:36
  • @Superbest: given that he has only done programming and programming languages, he probably isn't that well-prepared for CS research in machine learning. It might be really useful for him to get an MS first. Mar 13, 2016 at 3:24

A PhD is not like undergraduate school. The process is involved and particular, so you can't just stop halfway through and continue where you left off at another place. Most programs will not consider "transfer" applications at all, if you do get lucky and find one it will probably have very specific and unique requirements that you'll have to familiarize yourself with.

If you truly hate your field and want to switch, the more practical ways are:

  1. Ask your current PI for a project that involves more computational work
  2. Ask your department head for a new PI who does more CS-type work (they might even let you be supervised by a CS professor)
  3. Drop out and apply again to a CS program

In my experience, these are much more common than "transferring".

  • hi, thank you. I am doing computational work currently. At the same time I am learning courses online, machine learning on coursera. Maybe that can help me.
    – dog dog
    Mar 13, 2016 at 6:06
  • @dogdog Well, I was once in a similar position to you. I would suggest trying to think of ways to apply the stuff you learned to your env. chem. research, or think of new projects that would use them, or try to think of computational methods you can learn that would add to your existing work. Also try looking at other computation-heavy papers in your field.
    – Superbest
    Mar 23, 2016 at 2:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .