Skip to content. | Skip to navigation

You are here: Home » CSCI » For Students » Planning for Computer Science Graduate School
Document Actions

Planning for Computer Science Graduate School

Planning for Grad School

Hunter's Computer Science Program prepares its students for the choice between entering the workforce and continuing their education in Graduate School.

Making the Graduate School Decision

For Hunter students nearing completion of our computer science undergraduate program, the decision of whether or not to begin the application process for graduate school may be a difficult one. While Faculty Advisors, professors and fellow students can offer invaluable help in fleshing out your field of options, we've pulled together the information below to better prepare you to make an informed decision. If you've already decided to pursue a graduate degree, you'll find helpful resources here, too. For further discussion and assistance, drop by while our advisors are in session, or contact the CS Department at  for an appointment.

What is Graduate School?

For most computer scientists, graduate school means one of three things:

  1. Graduate degrees in majors for which an undergraduate computer science degree is helpful. Examples include advanced degrees in the sciences where you apply your computer science background to other areas, and professional schools such as law.
  2. Terminal master's degrees. These are master's programs that allow you to get more exposure to computer science than possible in the limited amount of time in your undergraduate years.
  3. Doctoral degrees (PhDs). These are intended for those interested in doing computer science research. It is almost always mandatory for getting a job either in industrial research or academia.

For Option 1, it is best to consult advisers in the corresponding undergraduate departments to make sure you have adequate undergraduate coursework in both computer science and the other area. If your goal is a scientific major, a strong mathematics background beyond the courses required for your computer science degree is essential.

Option 2 is gaining in popularity, and is becoming increasingly desirable to employers. It allows you to take more advanced versions of your undergraduate courses, and also do independent work. Typically, this takes the form of 2 years of additional coursework, including a major project and/or a master's thesis. Since this involves independent work, a master's degree will allow you to get a higher-level and more interesting job with more individual responsibilities than attainable with an undergraduate degree. Terminal master's degrees are typically not funded, and some are expensive; however, many believe that the extra costs are recovered quickly in a few years since salaries are higher for those with master's degrees. Traditionally, the master's degree was in computer science; however, some schools have recently started master's programs in various computer science subareas. Sample areas include software engineering, information science & technology, computer security, embedded systems, computational biology, and game programming. These may take the form of degrees or certificates associated with a computer science degree.

Option 3 is intended for researchers. Ph.D. students typically get jobs as college professors, or in industrial or government research labs, with a few also going on to start their own companies or head groups related to their areas. Many studies have shown that computer scientists have one of the highest job satisfactions of all majors, but computer science researchers tend to have high job satisfactions even relative to computer scientists. Typically, a Ph.D. program takes 4-8 years, with the bulk of the time being spent doing independent research and writing a thesis. This is a long time; however, it is generally funded at a level supporting your tuition and a basic subsistence lifestyle. You do not need a master's degree to apply for the Ph.D. program; however, many Hunter students find a master's degree helpful in getting more advanced knowledge and in getting accepted to more prestigious Ph.D. programs (see below).

You should also be aware of a disadvantage of advanced degrees - the higher the degree, the more focused it is. You will be spending the rest of your life in a somewhat narrow computer science subarea. Note, however, that this is also true for an undergraduate degree, but to a lesser extent - while an undergraduate's first job may be as an entry-level programmer, future jobs will likely be in subareas related to the first job.

Hunter college offers a Master's degree in computer science aimed at those who pick option 2 or are unsure if they want to continue with option 3. Advanced students with high research potential may also be able to directly enter a Ph.D. program.

Format Of A Ph.D. Program

The end goal of the Ph.D. is to become an expert individual researcher in a particular research area. As such, there are generally 3 stages in a Ph.D. program.

  1. The first phase (typically 1 year) involves taking courses that give you a broad exposure to computer science that is more advanced than an undergraduate program. People with master's degrees are sometimes exempted from the coursework. This may or may not be a good thing, as you are required to take a qualifying examination based on your courses before continuing in the program, which may pose problems if your MS is at a different college. The exams are a major hurdle, as you typically have to repeat the first year if you fail them.
  2. The second phase involves taking advanced courses and reading research papers related to your general research area, picking an advisor/mentor, and deciding what your research will be on. You may join a research group consisting of several professors and other Ph.D. students. Picking a good topic often takes time, and it helps to start early (even as early as during your Hunter days). At the end of this phase, you will write a proposal outlining your planned research, and be tested to ensure that your research makes sense and that you have done sufficient background research to proceed.
  3. The third phase involves doing the research and writing a thesis, preferably also publishing quality papers. Contrary to popular perception, researchers seldom work by themselves, and a good research group can be invaluable to performing good research. At the end of the thesis, you will defend your research. The thesis (and related publications) is the most important part of your Ph.D. program, and its quality will determine your future.

The entire program typically takes 4-8 years. Some people leave the Ph.D. program without completing phase 3; at most schools, they have taken enough credits to receive a master's degree.

Debunking the Grad School Myths

Misconceptions about grad school abound, making the decision to pursue a graduate degree even more daunting for many students, so let's dispel some of those myths to clarify the concept of graduate school:

Myth: I Can't Afford Grad School

Indeed, many schools do not offer financial support to their Master's students (though the number of schools offering aid is growing), however, you'll find that nearly all offer various forms of financial assistance to their Ph.D. students. If you're already considering an eventual Ph.D. in computer science, it would be wise to apply to Ph.D. programs right away— should you decide at a later date that the program doesn't fit, you still have the opportunity to leave graduate school once you've completed your Master's. Hunter's Financial Aid office can point you in the direction of currently available options at CUNY, and a good resource on the web is the FinAid site including information about grants, federal funds, scholarships and more.

Myth: Degree First, Then Grad Applications

As we noted above, most computer science graduate schools offer admission directly into their Ph.D. programs, allowing their students to complete their Master's while in attendance. Whether you choose to apply to Master's or Ph.D. programs, plan on beginning the graduate school application process no later than a year in advance of completing your undergrNaduate degree— your successful entrance into the program of your choice depends on early planning.

Myth: Grad School = Several More Years of Heavy Course Work

Your primary focus and the bulk of your work in grad school will be research. So, the time to start learning good research habits and honing those writing and speaking skills would be while you're still an undergraduate.

What to Expect

Graduate school is your opportunity to enrich and deepen your knowledge and understanding of your field of computer science, allowing you to develop professionally as an independent individual while offering the potential for unprecedented collaborative experiences. Instead of short-term class grades and course projects on which you've relied as an undergraduate, your success in grad school will primarily depend on long-term projects that will be informed by meaningful ongoing research, conference attendance and participation, creative problem solving, and productive peer interaction. However, exams are important, too— your GRE (Graduate Record Examination) scores will carry significant weight with admissions committees, fellowship boards, grant organizations and scholarship foundations throughout your career.

In short, your tenacity, resourcefulness, interpersonal/communication skills, and ability to solve problems creatively and independently will be the key factors on which your degree will be awarded.

Getting Started

You've wrapped your head around the concept of graduate school and you're ready to begin the application process. Congratulations — now, the work begins! The easiest track to grad school success is to start planning as a freshman by first picking your subfield of study, determining your long-term career goals, selecting a graduate school, forging relationships with your professors, and even defining the subject of your dissertation. Since this is the real world, however, we offer the following general guidance:

Start Early

You should know that the application process is time-consuming and requires a great deal of research and planning. In addition to the obvious decisions about which schools, programs and fields would most benefit and interest you, the groundwork for the graduate school path starts at least a year in advance of taking the GRE. Practice tests are essential in determining areas of weakness and enabling you to strengthen them.

Make an Impression

Because at least three letters of reference will be requirements for your applications, it's important to impress your professors enough to inspire them to write strong recommendations for your admission. Of course, this means that it's probably a good idea to plan which professors with whom you'd like to study. Did we mention, "start early?"

Be Prepared

Even if you're only vaguely toying with the idea of graduate school, you should consider taking additional math courses — those required by the computer science path at your graduate school of interest — that aren't actually required for the major. And again, we cannot stress enough the importance of early practice GRE tests in defining and strengthening your weaknesses.

Reach Out

Your Faculty Advisors are available to speak with you about planning your post-graduate career. To arrange an off-schedule appointment, contact the department at Helpful related resources on the web include:

  • FinAid: Self-billed as "the smart student guide to Financial Aid," this funding resources clearing house provides information about scholarships, graduate fellowships, loans, lotteries and grants. You'll also find handy calculators and even applications online. Go...
  • CRA: Computer Science Ph.D. Rankings: The Computing Research Association's searchable database of information provided in the National Research Council's Research-Doctorate Programs in the United States: Continuity and Change study. Impressively granular search criteria, but data is from a 1995 study. Good starting point, though. Go...

NEXT: CS Internships and Employment...