Jump to navigation
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.
The doctoral program in computer science combines course work 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.
All students must fulfill the programming and competency requirements (link is external)by the end of the second year, demonstrating minimum competence in four main areas of computer science: computer systems, software systems, intelligent computing, and theory.
This requirement can be satisfied in either of two ways - through successful completion of a project that involves substantial programming (done under faculty supervision) or by taking a course and receiving a satisfactory grade (normally B+ or higher). Acceptable courses are COS 318, 320, 425, 426, 429, 461, 526, 561, or any approved graduate course. Taking only the course exam does not give programming credit. This requirement must be completed by the end of the fourth year.
A total of 6 courses will be required. The first three constitute the core breadth requirement. Students musttake one course from each group -- AI, Systems, and Theory -- from the courses listed below. 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 advisor and the Director of Graduate Studies.
All courses must be taken for a grade. A grade of A- or higher will normally be expected. However, all grades will be reviewed by the faculty and a lower grade may be acceptable based on review of the student’s total record.
Individual research areas may set additional requirements for their students; they may specify certain courses to be taken or may require that courses in excess of the departmental requirement be taken.
Students are expected to complete the breadth requirement by the end of the second year. In special circumstances, a student's adviser may request an additional year, provided that four of the six courses have been completed. The programming requirement must be completed by the end of the second year.
Individual research areas may set additional course requirements for their students; they may specify certain courses to be taken or may require that courses in excess of the departmental requirement be taken.
Core Course List
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 other is selected by the director of graduate studies. 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. 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 and is earned after a student successfully completes the programming competency and the three basic area competencies, and presents an acceptable research seminar.
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.
Preliminary Public Defense
In preparation for the final public oral examination, the candidate participates in a preliminary public oral examination to be held at least six months prior to the expected completion date. It covers results to-date and planned research, and serves as a preliminary critique of the proposed dissertation. It is attended by the adviser, two dissertation readers, and two faculty members who serve on the final public oral examination committee, and it is open to the public.
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 will initially be 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 will be 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 in the form of teaching assistantships covering the four semesters of the program. Nonnative English speakers must have a TOEFL speak score of 28 or better to be considered for a teaching assistantship. Applicants who do not meet this requirement may opt to apply as self-funded students. Summer funding for M.S.E. candidates in the form of a research assistantship may be offered at the adviser's discretion.
Students wishing 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 will need to submit (1) a one-page personal statement describing preparation to date and interest interested in the master's program; and (2) an unofficial copy of your transcript. In addition, Princeton undergraduates must have two letters of recommendation from COS professors 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 -- it is meant only to help planning for senior year.
Candidates choose a subarea of computer science on which to focus their coursework and write a thesis under the direction of an adviser. Course requirements are fulfilled by taking six courses for a grade, at least three of which must be 500-level courses. A minimum of 4 courses must be taken in year 1. If, due to scheduling conflicts, this is not possible, approval by the director of graduate studies is required and the student must fulfill all course requirements by the end of the specified 2 year program length. The other eligible courses are 318, 320, 326, 375, or any 400-level course. 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, with no more than one C allowed. 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.
Master’s program is fully funded by teaching assistantships. Masters students are required to T.A. each semester that they are enrolled.
Candidates 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.
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. Three of the eight must be 500-level, and the additional courses may be chosen from 318, 320, 326, 375, or any 400-level course. Relevant courses from outside the department may be taken with adviser's consent. All courses must be taken for a grade. Candidates must maintain a B average, with no more than one C allowed.
For Princeton undergraduates interested in continuing at Princeton for a master's degree: A degree track has been established that allows current Princeton students pursuing a master’s degree with the computer science department to use credits from two courses taken as undergraduates that were taken beyond the requirements of the computer science department for the bachelor's degree. Those two must be upper-level COS courses that fulfill requirements of the master’s degree. Transferrable courses must be upper-level COS courses taken in excess of undergraduate degree requirements.
Jennifer L. Rexford
Szymon M. Rusinkiewicz
Ryan P. Adams
Andrew W. Appel
David P. Dobkin
Edward W. Felten, also Woodrow Wilson School
Michael J. Freedman
Thomas A. Funkhouser
Elad E. Hazan
Brian W. Kernighan
Andrea S. LaPaugh
Margaret R. Martonosi
Benjamin J. Raphael
Jennifer L. Rexford
Szymon M. Rusinkiewicz
Hyunjune Sebastian Seung, also Princeton Neuroscience Institute
Jaswinder Pal Singh
Mona Singh, also Lewis-Sigler Institute for Integrative Genomics
Robert E. Tarjan
Olga G. Troyanskaya, also Lewis-Sigler Institute for Integrative Genomics
David P. Walker
Zeev Dvir, also Mathematics
Barbara E. Engelhardt
Jonathan Mayer, also Woodrow Wilson School
Mark L. Zhandry
Robert M. Dondero Jr.
Amir Ali Ahmadi, Operations Research and Financial Engineering
Yuxin Chen, Electrical Engineering
Jainqing Fan, Operations Research and Financial Engineering
Ruby B. Lee, Electrical Engineering
Samory Kpotufe, Operations Research and Financial Engineering
Prateek Mittal, Electrical Engineering
Warren Powell, Operations Research and Financial Engineering
Paul D. Seymour, Mathematics
John Storey, Lewis-Sigler Institute for Integrative Genomics
Daniel L. Trueman, Music
Robert J. Vanderbei, Operations Research and Financial Engineering
David Wentzlaff, Electrical Engineering
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.