Our primary admissions criterion is our expectation regarding your ability to have a productive career as a research-track graduate student. We base this assessment on the academic record, proficiency in English speaking and writing, letters of recommendation, research experiences such as independent study projects, and prior internship/work experience. All of these are imperfect indicators of the real trait that we are interested in assessing, namely ability to succeed in research. If you have direct evidence, such as research publications in competitive conferences, or if your letter writers can speak to these abilities, that is considered more valuable than any score cutoffs. For this reason, we do not declare official minimum scores and cutoffs since performance on these measures is just one factor taken into account.

Our department accepts students from a variety of backgrounds besides computer science, such as mathematics, many branches of engineering, physics, biology, and many art disciplines.  We require a background equivalent to two years of undergraduate training in Computer Science, including at least:

  1. an introductory course on programming and beginning data structures (typically referred to as "CS2"),
  2. a sophomore or junior-level course in data structures (i.e., something that goes beyond the data structures content normally expected from a standard "CS2" course), and 
  3. a course in operating systems.

In addition, we expect background in Mathematics to include courses in Linear Algebra, Discrete Mathematics, Statistics, and at least one year of Calculus.

For more information, see the Application FAQ.