The Department of Computer Science accepts both beginning and advanced graduate students for study and research leading to the degree of Master of Science in Engineering (M.S.E.) and Doctor of Philosophy (Ph.D.). These degree programs are sufficiently flexible to adapt to individual plans of study and research.
Applicants are required to select a subplan when applying.
M.S.E.: Two supplemental essays are required.
- Please describe any teaching experience you have had, in any subject, at any grade level. This can include but is not limited to experience as a teaching assistant, lab assistant, grader, tutor, or any other role in which you interacted with students or mentored your peers. 250 words max.
- For those with teaching experience, describe a specific instance when you helped your student/students overcome a misunderstanding or understand a difficult concept. If you do not have any teaching experience, please describe an oral presentation or talk you gave that explains a particularly difficult concept. 250 words max.
M.S.E.: If TOEFL is required, a minimum of 28 on the speaking subsection is required,
The doctoral program in computer science combines coursework and participation in original research. Most students enter the program with an undergraduate degree in computer science, mathematics, or a related discipline. Some entering students may have a master’s degree, but that is not necessary for success in the program. Every admitted Ph.D. student is given financial support in the form of a first-year fellowship. In addition, all admitted Ph.D. students are automatically considered for the prestigious Wu and Upton Fellowships.
In preparation for the general examination, the doctoral candidate, in consultation with a faculty adviser, develops an integrated program of study in one of the departmental areas of research. Such preparation usually requires two academic years for students entering with a bachelor’s degree, and one year for students entering with a master’s. Students are required to stand for the general examination at the end of the second year.
A total of 6 courses are required. Three courses must be taken to satisfy the core breadth requirement, with one course from each of three main areas of computer science: Systems, Artificial Intelligence (AI), and Theory. All students must fulfill the core breadth requirements plus one additional course by the end of the second year, demonstrating minimum competence in three main areas. The remaining three courses can be any 400- or 500-level course from any department in the University. Courses taken outside the Department of Computer Science require approval from the student’s academic adviser and the Director of Graduate Studies.
All courses must be taken for a grade. A grade of B+ or higher is required to get credit towards course requirements, although at most one B will be accepted for a course that does not satisfy the core breadth requirements. Individual research areas may request additional courses in excess of departmental requirements or may require students in that subfield to complete specific required courses in fulfillment of course requirements.
Breadth requirement core course list:
- 475 Computer Architecture (See ELE 475)
- 518 Advanced Computer Systems
- 561 Advanced Computer Networks
- 563 Wireless Networks
- 511 Theoretical Machine Learning
- 513 Foundations of Probabilistic Modeling
- 524 Fundamentals of Machine Learning
- 529 Advanced Computer Vision
- 584 Advanced Natural Language Processing
- 510 Program Languages
- 516 Automated Reasoning About Software
- 521 Advanced Algorithm Design
- 522 Computational Complexity
- 585 Information Theory and Applications
The general examination consists of a research seminar prepared under the supervision of a faculty member, followed by an in-depth oral examination on the contents of the seminar and the associated general area of research. The oral examination tests the student's knowledge in a number of topics relevant to the student's research area. These topics are specified beforehand by an examining committee in consultation with the student. The seminar is open to the public, and at least three computer science faculty members must attend. Two are invited by the student; the adviser chooses a third faculty member who could be in any area of Computer Science or related fields. The examining committee and the student agree upon a reading list for the exam. This document is to be made available to anyone present in the oral examination, and only questions pertaining to either the material described in the document or presented during the research seminar can be asked during the oral examination.
Original research results do not have to be presented, but problems whose solution may lead to a thesis should be discussed. In many cases, the student’s thesis is in the same area as the research seminar, but this is not required.
The Master of Arts (M.A.) degree is normally an incidental degree on the way to full Ph.D. candidacy once a student has successfully completed the general examination. The M.A. may also be awarded to students who, for various reasons, leave the Ph.D. program, provided the student has successfully completed the six required courses from the Breadth Requirement. Please note, students admitted to the Ph.D. program who do not wish to complete the program may be considered for an M.S.E. degree with approval from the department and the Graduate School. Ph.D. students who have already been awarded the incidental M.A. are not eligible to earn an M.S.E.
Teaching experience is considered to be a significant part of graduate education. All Ph.D. candidates are therefore required to assist with course instruction for the equivalent of two terms.
The preliminary FPO is a research talk given to the anticipated FPO committee approximately six months before the FPO date. The pre-FPO covers results to date and planned research, and serves as a preliminary critique of the proposed dissertation.
Graduate students will present a public talk followed by a private meeting with the committee. The outcome of the pre-FPO is not graded. Graduate students are provided with valuable feedback to the committee expects will guide any final work and will be incorporated into the dissertation.
FPO Committee must be identical to the Pre-FPO committee; any subsequent changes to the committee require approval from the DGS.
The Ph.D. is awarded after the acceptance of the dissertation and completion of the final public oral.
The master's degree program at Princeton is a two-year, full-time program. All admitted students are initially enrolled in the Master of Science in Engineering (M.S.E.), thesis-required track. In the spring of year 1, as part of readmission, all students are given the option to switch to the Master of Engineering (M.Eng.), non-thesis track. Students opting to remain on the M.S.E. track must have a confirmed research adviser and should also have a preliminary thesis proposal. Switching tracks will be permitted through January of year 2.
Teaching experience is considered to be a significant part of graduate education. Funding is normally awarded in the form of teaching assistantships. Teaching assistantships cover the four semesters of the program. Nonnative English speakers must have a TOEFL speak score of 27 or better to be considered for a teaching assistantship. Summer funding for M.S.E. candidates in the form of a research assistantship may be offered at the adviser's discretion.
Students who wish to continue on for a Ph.D. must apply through the normal application process during the fall of their second year of study.
Princeton undergraduate students who wish to apply to the master's program must do so through the regular admission process, and by the December 15 deadline. Admission is competitive. Princeton undergraduates interested in admission to the M.S.E. program may inquire in the spring of the third year. Interested students should submit a one-page (1-page) personal statement describing preparation to date and interest in the master's program; an unofficial copy of the undergraduate transcript; and letters of recommendation from two COS professors. The letters of recommendation should be emailed directly to the graduate coordinator. Once these materials have been received, the director of graduate studies will perform an informal review and provide feedback about whether admission into the master's program is "likely," "unlikely," or "possible." This feedback is not binding and is intended to help with course planning in the student’s senior year.
Candidates choose a subarea of computer science on which to focus their coursework. Course requirements are fulfilled by taking six courses for a grade. As least three of the six courses must be 500-level, and the additional courses may be chosen from 318, 320, 324, 326, 343, 352, 375, or any 400-level course or 500 level COS course. Students must take a minimum of 4 courses in year 1. If, due to scheduling conflicts, this is not possible, approval by the director of graduate studies is required. All courses must be completed by the end of the second year of enrollment.
A full course list is available on the department website. Relevant courses from outside the department may be taken with adviser's consent. All coursework must be taken for a grade. Candidates must maintain a B average, and may receive no more than one C. In order to be readmitted for a second year, candidates must have a confirmed thesis adviser and preliminary thesis proposal by the end of the first year.
Please note: Candidates electing to switch to the M.Eng. degree track must complete a total of eight courses over two years, and are not required to submit a thesis. At least three of the eight must be 500-level, and the additional courses may be chosen from 318, 320, 324, 326, 343, 352, 375, or any 400-level course, or any 500 level COS course. Relevant courses from outside the department may be taken with DGS's consent. A full list of approved courses can be found on the department website. All courses must be taken for a grade. Candidates must maintain a B average, with no more than one C allowed.
Graduate students who received their undergraduate degrees from Princeton University may use credits towards the master's degree from two Princeton courses taken when the students were undergraduates, provided that the two courses were in excess of the requirements of the computer science department for the bachelor's degree. Those two courses must be upper-level COS courses that also fulfill requirements of the master’s degree.
The master’s program is fully funded by teaching assistantships. Master's students are required to hold a full teaching assistantship each semester that they are enrolled.
Candidates for the M.S.E. must prepare and submit an original thesis as well as present a public seminar on the research. The thesis will be reviewed and graded by the student’s adviser plus one additional reader from the Princeton faculty. If the reader is from outside the Department of Computer Science, approval by the director of graduate studies is required. The public seminar is an ungraded 20-minute talk, followed by a 10-minute question session, given in the spring of year 2. This will allow the student’s adviser and reader to give preliminary feedback prior to submission of the final thesis.
The written thesis should be a research paper of scholarly quality, making a novel contribution to scholarship in the field. The thesis should motivate the chosen research problem, evaluate the proposed solution (e.g., via analysis, measurement, simulation, or prototype implementation), and compare the approach to the related work in the field. While there is no specific length requirement, a reasonable target is a typical conference paper (e.g., 10-15 pages in two-column format or 20-40 pages in single-column, double-spaced format). Due date will be Dean's Date in the spring term of year 2. After being graded, four copies of the final version must be submitted to the department: two bound copies, following the formatting guidelines from Mudd Library, one unbound hard-copy, and the fourth as a .pdf file.
- Jennifer L. Rexford
- Szymon M. Rusinkiewicz
- Szymon M. Rusinkiewicz
- Adam Finkelstein
Director of Graduate Studies
- Michael J. Freedman (co-director) (fall)
- Kyle A. Jamieson (co-director) (spring)
Director of Undergraduate Studies
- Brian W. Kernighan (co-director)
- David P. Walker (co-director)
- Ryan P. Adams
- Andrew W. Appel
- Sanjeev Arora
- David I. August
- Mark Braverman
- Bernard Chazelle
- David P. Dobkin
- Zeev Dvir
- Barbara E Engelhardt
- Adam Finkelstein
- Michael J. Freedman
- Tom Griffiths
- Aarti Gupta
- Elad Hazan
- Kyle A. Jamieson
- Brian W. Kernighan
- Kai Li
- Margaret R. Martonosi
- Ben Raphael
- Ran Raz
- Jennifer L. Rexford
- Szymon M. Rusinkiewicz
- Robert Sedgewick
- H. Sebastian Seung
- Jaswinder P. Singh
- Mona Singh
- Robert E. Tarjan
- Olga G. Troyanskaya
- David P. Walker
- Wyatt A. Lloyd
- Arvind Narayanan
- Danqi Chen
- Jia Deng
- Adji Bousso Dieng
- Felix Heide
- Zachary Kincaid
- Gillat Kol
- Amit A. Levy
- Jonathan Mayer
- Andrés Monroy-Hernández
- Karthik Narasimhan
- Ravi A. Netravali
- Yuri Pritykin
- Olga Russakovsky
- Matt Weinberg
- Huacheng Yu
- Mark L. Zhandry
- Amir Ali Ahmadi, Oper Res and Financial Eng
- Yuxin Chen, Electrical & Comp Engineering
- Jianqing Fan, Oper Res and Financial Eng
- Jaime Fernandez Fisac, Electrical & Comp Engineering
- Chi Jin, Electrical & Comp Engineering
- Jason D. Lee, Electrical & Comp Engineering
- Ruby B. Lee, Electrical & Comp Engineering
- Anirudha Majumdar, Mechanical & Aerospace Eng
- Prateek Mittal, Electrical & Comp Engineering
- Paul Seymour, Mathematics
- John D. Storey, Integrative Genomics
- Robert J. Vanderbei, Oper Res and Financial Eng
- Janet A. Vertesi, Sociology
- Mengdi Wang, Electrical & Comp Engineering
- David Wentzlaff, Electrical & Comp Engineering
- Kevin Wayne
- Robert M. Dondero
- Robert S. Fish
- Ruth C. Fong
- Donna S. Gabai
- Maia Ginsburg
- Alan Kaplan
- Mihir E. Kshirsagar
- Dan Leyzberg
- Xiaoyan Li
- Jérémie Lumbroso
- Christopher M. Moretti
- Iasonas Petras
- Esin Tureci
Courses listed below are graduate-level courses that have been approved by the program’s faculty as well as the Curriculum Subcommittee of the Faculty Committee on the Graduate School as permanent course offerings. Permanent courses may be offered by the department or program on an ongoing basis, depending on curricular needs, scheduling requirements, and student interest. Not listed below are undergraduate courses and one-time-only graduate courses, which may be found for a specific term through the Registrar’s website. Also not listed are graduate-level independent reading and research courses, which may be approved by the Graduate School for individual students.