In order to better understand my questions it is best to provide some context to them.

Background: I completed a B.Sc. degree in pure mathematics several years ago. I kept in contact with my letters of recommenders (their letters are strong), and published in an undergraduate mathematics journal. I want to transition from mathematics to computer science for a PhD program. I delayed my entrance into a PhD program to work in industry. Now I am in a position where I can enter back into school.

The problem I face is that 1) I lack many of the preliminary courses required by many PhD programs in Computer Science and 2) My GPA is on the low side due to extenuating circumstances during those respective semesters (which relates to my reasons of delaying a PhD to pursue industry work).

The PhD programs I am interested in are very competitive. I contacted a professor at one of these universities (nationally ranked & well-known) and he said he'd vouch for me whenever I applied and a few of my recommenders know him personally. But according to the school's website individual faculty have little input in admission decisions (as admissions is determined by a group of faculty) and they seem to have a strict set of coursework requirements needed in order to be admitted into their program. Also, my GPA falls outside the range of the "average" admitted students.

So, even though I have strong LoRs, strong research experience and a professor interested in me, I have a low GPA and not nearly enough of the core courses to satisfy their coursework requirements.

I applied/was accepted to do a post-bac at a well-regarded school. I will be a credit (but non-degree seeking) undergraduate student and can take any range of courses I want (both undergrad + grad).


1) Will pursuing a post-bac route help me get into a CS PhD program? My aim here is to complete the core set of requirements, bolster my GPA, and make myself competitive for PhD programs in CS (I don't want to do an MS program). Since I lack basic CS coursework I'll be taking courses in programming, data structures, analysis of algorithms, computer organizations and the like.

2) When will be the best time to apply for PhD programs? I plan to take courses on a part-time basis (since I am working full-time), so a max of 1-2 courses a semester. I was thinking if I applied next Fall then I'd only have two programming courses completed (required sequence), and a data structure course in progress. I still wouldn't have completed analysis of algorithms, etc. courses by that time. Luckily, I already taken all of the program's math requirements with high marks.

3) Is it fine to not satisfy every coursework requirement in the list? It is also recommended to have other courses completed outside of the core, but I am very eager to get the core completed and move into research. Lastly, would a B in any of these courses be a death kneel for my purpose? Some of these courses have a reputation of being extremely difficult.

Thanks for the help!

  • What is your GPA? (Or if you don't want to share that, can you give a range or an upper bound?)
    – Sid
    Commented Apr 14, 2015 at 16:37
  • What is the purpose of the PhD as opposed to a second Master's or Post-Master's?
    – Compass
    Commented Apr 14, 2015 at 16:58
  • @Compass I want to pursue a PhD because I want a career in academia. A PhD program will involve research & will be fully funded, whereas a Masters will be coursework focused (potentially thesis based) and not fully funded.
    – nonary
    Commented Apr 14, 2015 at 17:00
  • @Sid Hard to say as I attended more than one place. Between 2.9-low 3.0 range.
    – nonary
    Commented Apr 14, 2015 at 17:02
  • Meant to add, I have A's in areas of math I intend to specialize in/use in graduate school (for CS), but my overall GPA was deflated.
    – nonary
    Commented Apr 14, 2015 at 17:09

2 Answers 2


What you can do is first complete a masters degree in CS and then transition to a PhD program. Some masters programs do not require a bachelor degree in CS, and you can get your degree in 1~2 years after completing all the necessary courses.

While doing your masters degree, you get to know the professors, learn about their projects and gauge your ability to launch a career in computer science. That's also a great opportunity for you to find out if there could be an advisor-student match that will materialize into a PhD thesis.

If you then manage to get into the PhD program in the same institution, you may be able to transfer the credits and take the preliminary exams right away. Speak to the Graduate Advisor to find out more.

Good luck!

  • @nonary specifically said they didn't want to do an ms though...
    – Stephanie
    Commented Jun 9, 2015 at 21:42

I teach in the post-bac CS program at Mills College, which is aimed at people (like you) who have earned a bachelor's degree in a field other than CS and want to transition into CS, either for industry or to prepare for a CS PhD. Two such students were subsequently admitted to the CS PhD program at University of Washington, one of the top programs in the country. Others have gone on to CS PhD programs at UCSD and The University of Virginia. I can provide more details privately.

There are many ways to take the prerequisite courses -- online, as a special student, etc. The advantages of taking them in a post-bacc program (or at least the program I am most familiar with) are:

  • The classes are small, and many of the students are in the same situation as you, rather than to a profile you do not fit.
  • Because the classes are small and taught by full-time professors, you can get strong detail-filled letters by professors who know you well.
  • Being a full-time student makes you eligible for summer internships. For example, one of our recent students interned at NASA, which I'm sure helped him get admitted to PhD programs.
  • Depending on the school and your field, there may be research opportunities there. Research experience is very valuable for graduate school admissions.
  • You can boost your GPA. Your undergraduate GPA will seem a lot less important if you've earned excellent grades more recently in a CS program.

The biggest downsides of a post-bac program are that they're expensive, they take time, and the piece of paper is not worth much in itself. (We have both a post-bac certificate program and an MA in Interdisciplinary Computer Science, which requires more coursework and a thesis and is a valuable piece of paper.)

I think you should carefully examine the costs and benefits of a post-bac program versus a terminal MSCS, rather than dismissing the latter. After either, you will be in a good position to apply for a CS PhD program.

(Anyone with questions about the Mills program should feel free to contact me through my email address, which is easy to find.)

You must log in to answer this question.

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