Graduate School in Computer Science: General Advice

Clif Kussmaul
Department of Mathematics & Computer Science
Muhlenberg College

So you are thinking about going to graduate school in Computer Science? Here are some things to think about.

Reasons for Attending Graduate School

  1. Become a world-class expert on a particular topic. Most PhD programs assume that their students are interested in research careers. CS differs from many other fields in that industry can offer research opportunities equal to or better than those in academia.
  2. Become a professor. A PhD is required for most tenure-track positions at most colleges & universities.

  3. Get a better job in industry. A Master's degree may help you get a better job in industry. PhDs are perceived as too specialized for some non-research industry jobs, and can actually be a liability.

  4. Develop more self-discipline and the ability to think independently and creatively. Regardless of what you decide to do after you receive a PhD, you will be much better at organization, time management, writing, etc.
  5. Wait for the economy to get better. Grad school enrollments rise when then economy is poor, and decline when it is good.
  6. You've been a student for 16+ years, why stop now? To successful, long-time students, graduate school can be less threatening than getting a "real" job. (This isn't a very good reason for attending grad school.)

Good Things about Graduate School

  1. Most PhD programs provide tuition and a modest stipend, so you won't need to borrow much money (although you won't make a lot of money unless you come up with a great idea and start a company). Find out about the cost of living before you make a final decision!
  2. A great opportunity to see another part of the country, or a different country. Once you have a job, a house, and a family, it will be more difficult to relocate.
  3. You have great flexibility regarding how and when you work - probably more than at any other time in your life. Enjoy it!

How to Get Admitted to Graduate School

  1. Do well in your undergraduate courses. CS is still a relatively new discipline, and many faculty migrated from other disciplines (math, physics, engineering, philosophy).
  2. Work on an independent project of some sort. This shows graduate programs that you are interested in "research" and that you have at least some aptitude, especially if you publish or present your project somewhere. It is much easier to get this sort of experience at a small college than at a big school.
  3. If you don't know exactly what you want to do, look for programs with lots of options, and lots of flexibility.
  4. If you do know exactly what you want to do, look for programs with faculty who are experts in that area. You will be seeing a great deal of these faculty members, so try to figure out whether you would be happy working with them.
  5. Visit graduate programs if possible. Try to visit potential graduate programs and talk to both faculty and graduate students. Before you have been accepted, a visit can be a way to meet faculty who can help you get accepted. Once you have been accepted, a school may be able to help cover some of your travel expenses. In any case, talk to the graduate chair, or the corresponding department secretary or administrator, not to the institution's admissions office.

How to Succeed in Graduate School

  1. Choose your PhD advisor very carefully. Your success (or lack thereof) in graduate school depends heavily on your advisor;
  2. If you are interested in a teaching career, seek out other people with similar interests.

Final Thoughts

I didn't get my first "real" job until I was 30 years old, with 2 bachelor's degrees, 2 master's degrees, and finishing a PhD...

NOTE: this site is administered by Clif Kussmaul (kussmaul@muhlenberg.edu), not by the Office of Information Technology.
Muhlenberg College - 2400 Chew St - Allentown, PA 18104-5586 - 484.664.3100 - 484.664.3623 (TTY)
Muhlenberg resources: Home Page | Site Index | Directory | Search | GroupWise | WebMail | BlackBoard