School of Computer Science

Ph.D. Programs

Sections Course Requirements Research Requirements Teaching Requirements Skill Requirements
Other SCS Community Service Evaluation Transfer Policy
Course Requirements
Program Name
Required Courses
Computational and Statistical Learning 5 courses
  • 10-701 Machine Learning
  • 10-702 Statistical Approaches for Learning & Discovery
  • 10-705 Intermediate Statistics
  • 10-713 Multimedia Databases and Data Mining, (when 10-713 is not offered, 15-721 may be taken instead).
  • 15-750 Algorithms or 15-853 Algorithms in the Real World 
3 courses
  • 10-661/80-616: Probability & Artificial Intelligence
  • 10-670 Data Profiling & Privacy 
  • 10-683/11-747 Machine Learning for Text Mining,12 units, (not currently offered) 
  • 10-697: Research & Reading
  • 11-741: Information Retrieval 
  • 11-761: Statistical Methods in Language Technologies (was Language and Statistics) 
  • 15-780: Advanced AI Concepts 
  • 15-829(A): Advanced Database 
  • 15-854: Machine Learning Theory 
  • 15-887A: Planning, Execution and Learning 
  • 16-721: Advanced Robot Perception 
  • 36-703: Intermediate Probability 
  • 36-707: Regression Analysis 
  • 36-708: Linear Models and Experimental Design 
  • 36-711: Statistical Computing 
  • 36-720: Discrete Multivariate Analysis 
  • 36-722: Continuous Multivariate Analysis 
  • 36-724: Applied Bayesian Methods 
  • 36-728: Time Series Analysis I 
  • 36-730: Time Series Analysis II 
  • 36-732: Topics in Biostatistics 
  • 36-734: Survey Sampling 
  • 36-736: Nonparametric Methods 
  • 36-738: Topics in Applied Statistics 
  • 80-600: Minds, Machines & Knowledge 
  • 80-610: Logic & Computation 
  • 80-710: Model and Computability 
  • 80-810: Logic & Computation Seminar I 
Computation, Organizations and Society 5 Star courses
  • 15-780 Advanced AI Concepts 
  • Either: 15-750 Algorithms, 15-781 Machine Learning, Privacy Algorithms 
  • Either: 10-705 Intermediate Statistics, 10-751 Probability and Statistics for Computer Science, 36-727 Probability and Mathematical Statistics II 
  • 17-952 Dynamic Organizations and Networks 
  • Computation, Organizations and Society (COS) Lab
36 units (~3 courses)

Selected electives related to analytical methods: 

  • 47-835 Graph Theory 
  • 47-836 Networks and Matching 
  • 21-690 Methods of Optimization 
  • 47-840 Dynamic Programming 
  • 47-811 or 90-906 Econometrics 
  • 47-856 Linear Programming 
  • 47-830 Integer Programming 
  • 10-661 Probability and AI 
  • 11-741 Information retrieval 
  • 16-720 Computer Vision 
  • 15-849 Performance Modeling/Stochastic Processes 
  • 21-691 Nonlinear Optimization 
Suggested electives related to social and organizational processes: 
  • 45-899 Knowledge Management & Organizational Learning (6 units) 
  • 45-890 Seminar in Organizational Theory (6 units) 
  • 90-903 Social network theory 
  • 90-919 Social network methodology 
  • 17-950: Computational Modeling of Complex Socio-Technical Systems 
  • 90-796 Human Resource Policy and Planning 
Suggested electives related to managerial and business methods: 
  • 15-892 Foundations of Electronic Marketplaces 
  • 46-866 Supply Chain Management 
  • 47-801 or 90-908 Micro-Economics 
  • 47-761 Seminar in Manufacturing Management 
  • 20-763 Electronic Payment Systems 
  • 20-863 Mobile Commerce 
Suggested electives related to privacy technology: 
  • 10-711 Privacy in Data 
  • 15-827 Security and Cryptography 
  • 15-899 Digital Rights Management – Technology, Policy & Societal Issues 
  • 18-730 Introduction to Computer Security 
  • 95-751 Organizational Management and Information Security 
Suggested electives related to policy decision-making: 
  • 19-701 Theory and Practice of Policy Analysis 
  • 19-702 Quantitative Methods for Policy Analysis 
  • 19-712 Telecommunications, Technology Policy & Management 
  • 46-830 eCommerce Law and Regulation 
  • 47-818 Contract Theory 
  • 90-703 Internet and Public Policy 
  • 90-840 Legislative Policy Making 
Computer Science 5 courses, one per area below:
  • Algorithms & Complexity
    • Algorithms
    • Complexity Theory
  • Artificial Intelligence:
    • Advanced AI Concept
    • Machine Learning
    • Planning, Execution, and Learning
  • Computer Systems:
    • Computer Architecture
    • Optimizing Compilers for Modern Architecture
  • Programming Languages:
    • Type Systems for Programming Languages
    • Semantics of Programming Languages
  • Software Systems:
    • Advanced Operating Systems and Distributed Systems
    • Database Management Systems
    • Networking
36 units (~3 courses)
36 university units worth of elective courses, at least 24 of which are from graduate courses offered by the School of Computer Science (not just the Computer Science Department); the other 12 may be from graduate courses offered by the rest of the University. These graduate courses must be level 700 or above. 
Human-Computer Interaction All programs of study are created individually, but must be approved in advance by both your advisor and the department committee for programs of study. 

All programs of study must include:

  • 05-771 HCI Process and Theory 
  • 4 graduate level courses in an area of specialization (behavioral sciences, computer science, or design) 
  • 2 graduate level courses in a second area 
  • 1 graduate level course in the third area 
In addition, each program of study must include at least one graduate level studio design course.
Language and Information Technologies 6 12-unit LTI Courses; current set listed below.

Within those 72 units:

Each student must take one course from each of four LTI Focus Areas, and each student must take two 6-unit Lab Courses (from two different research areas).  For more details:

  • 11-711 Algorighms for NLP
  • 11-712 Laboratory in NLP
  • 11-716 Graduate Seminar on Dialogue Processing
  • 11-721 Grammar and Lexicom
  • 11-722 Grammar Formalisms
  • 11-723 Formal Semantics
  • 11-731 Machine Translation
  • 11-732 Laboratory in MT
  • 11-741 Information Retrieval
  • 11-742 Laboratory in IR
  • 11-743 Advanced IR Seminar and Lab
  • 11-748 Information Extraction and Integration
  • 11-751 Speech Recognition
  • 11-752 Speech:  PPPS
  • 11-753 Advanced Speech Laboratory
  • 11-754 Dialogue Systems Laboratory
  • 11-761 Language and Statistics
  • 11-791 Software Engineering for IT, Principles (I)
  • 11-792 Software Engineering for IT, Practice (II)
2 12-unit graduate level courses within SCS, or certain approved courses outside of SCS.
Robotics 5 Core courses, including at least one course from each Core Area 
  • Perception
    • 16-720 Computer Vision
    • 16-721 Advanced Perception
    • 16-722 Sensing and Sensors
  • Cognition
    • 16-731 Advanced AI Concepts
    • 15-781 Machine Learning
  • Action
    • 16-741 Mechanics of Manipulation
    • 16-711 Kinematics, Dynamic Systems & Control
  • Math Foundations
    • 16-811 Math Fundamentals for Robotics
A specialized qualifier comprising three elective courses that have to be coherent in subject matter and should either enhance or be complementary to the Core course subject matter.  These courses must total 36 units and are subject to approval by the Program Committee Chair.
Software Engineering 7 courses (listed are examples not complete lists of alternatives)
  • 1-2 Star courses in design and engineering (Software Engineering, Research Methods in Software Engineering)
MSE core courses: We have adapted some of the existing Master of Software Engineering (MSE) core courses to serve both MSE and PhD students. MSE courses available for PhD credit are cross-listed as 17-7xx (e.g., 17-751, Models of Software Systems), and may require an additional project to satisfy the PhD requirement.
    • 17-752 Methods of Software Development (Adapted from MSE core Course 17-652) 
    • 17-755 Architectures for Software Systems (Adapted from MSE core Course 17-655) 
    • 17-939 What Makes Good Research in Software Engineering?
  • 1-2 courses Star courses in systems (Computer Systems, Software Systems, or Application Systems)
    • 15-712 Advanced Operating Systems and Distributed Systems 
    • 15-740 Computer Architecture 
    • 15-744 Computer Networks 
    • 18-749 Dependable Embedded Systems 
    • Application systems courses include systems courses offered through the Language Technologies Institute (LTI) in the School of Computer Science 
Note: Three courses in the above two areas are required, with at least one course in each area
  • 1 Star course in analysis (Statistics, Performance Analysis, Algorithms, Theory of Programming Languages)
    • 15-750 Algorithms core 
    • 17-751 Models of Software Systems (Adapted from MSE core Course 17-651) 
    • 15-812 Semantics of Programming Languages 
    • 15-814 Type Systems for Programming Languages 
    • 15-853 Algorithms in the Real World 
  • 1 Star course in economics, business, or policy issues, preferably in the software industry
    • 17-910 Business Models for Software Development Methods 
    • 90-802 Information Security: Comparison of US and European Policies 
Note: A "star" course is a course that has been determined to satisfy certain standards of breadth and evaluation.
  • 2 courses of practicum
  • Skills Requirements
Software engineering does not have an explicit programming requirement, as we believe that the course requirements (including the practicum) cover that.
  • Other
The ISRI Software Research Seminar carries 3 units.  This indeed represents an average of 3 hours/week, but it's mostly 1.5 hours of attendance throughout the semester plus the preparation for the presentation
The practicum involves participation in a software engineering practical experience, and reflection and analysis of that experience. The results are presented through an oral presentation and a written report. We are in the process of revising the practicum description and requirements.
12 university units worth of 700-level (or above) courses in SCS; students may request to substitute PhD-level courses outside SCS.
Algorithms, Combinatorics, and Optimizationsubspecialization of 
  • Computer Science
5 Star courses as for the Computer Science Ph.D. program, plus the non-CS ACO courses (which can be used to satisfy the CS elective requirement).

3 course semester each in Math and GSIA (technically, students take six mini-courses in GSIA), and one course semester in probability theory.


  • core course (required of all students):
    • Discrete Math (21-701) 
  • 2 of the following, at least 1 of which must be a starred option:
    • Algebra (21-610)* 
    • Real Analysis and Lebesgue Integration (21-620 and 21-621)* 
    • Numerical Analysis (21-660) 
    • Methods of Optimization (21-690) 
Computer Science (This list is relevant to non-CS ACO Ph.D. Students): 
  • core course (required of all students):
    • Algorithms (15-750)
  • 2 of the following: 
    • Artificial Intelligence (15-780) 
    • Computer Systems (15-740) 
    • Programming Languages (15-711) 
    • Software Systems (15-712) 
    • Complexity Theory (15-855) 
    • Security and Cryptography (15-827) 
    • Theory of Performance Modeling (15-849) 
    • Algorithms in the Real World (15-853) 
    • or any course in the 15-85x numbering (upper-level algorithms/theory


  • core courses (required of all students): 
  • One mini: Theory and Algorithms for LP 
  • One mini: Graph theory 
  • One mini: Integer programming 
  • 3 minis to be taken from: 
  • Networks and Matchings 
  • Advanced Integer Programming 
  • Convex Polytopes 
  • Advanced Linear Programming 
  • Dynamic Programming 
  • Nonlinear programming 
  • Optimal Control Theory 
  • Approximation Algorithms 
  • Topics in Polyhedral Combinatorics 
  • Packing and Covering 
  • Computational Molecular Biology 
  • Network Design Algorithms 
  • Special Topics in OR 
Students are also required to take one of the following courses in Probability Theory: 
  • Probability and Combinatorics (15-8xx) 
  • Probability Theory (21-780) 
  • Probability Theory and Stochastic Processes I (36-753) 
In addition, there is a qualifying examination covering the fundamentals of the program; The exam syllabus will take account of the choices of electives made by the particular set of students taking the exam. This examination will be given at the beginning of the student's fourth semester. Students are expected to have satisfied all course requirements by the end of the sixth semester. 

In the event that a student has already mastered the material covered by a required course when entering the program, another course may be substituted with approval from the student's advisor in consultation with the ACO Coordinating Committee. 

Neural Basis of Cognition (NBC) is a subspecialization of
  • Computational and Statistical Learning
  • Computer Science
  • Robotics
4 core courses
  • Cognitive Neuroscience: CMU Psych 85-765 / Pitt NROSCI 2005: Cognitive Neuroscience
  • Neurophysiology
    • NROSCI 2012: Neurophysiology (the usual choice for non-Neuroscience students)
    • NROSCI/MSNBIO 2100: Cellular and Molecular Neurobiology (required for students in the Program in Neuroscience)
    • INTBP 2000/2005: Foundations of Biomedical Science (for MD/PhD students) 
  • Systems Neuroscience: This requirement is usually satisfied by NROSCI 2102/2103: Systems Neurobiology
  • Computational Neuroscience:  students may choose any one of the following courses:
    • Psych 85-719: Introduction to Parallel Distributed Processing
    • CS 15-883: Computational Models of Neural Systems
    • Math 3375 / Psy 2480: Introduction to Computational Neuroscience
The Center for the Neural Basis of Cognition publishes a list of available electives prior to the start of each semester. Listed below are some of the courses that may be taken as electives, by department.
  • Biological Sciences (Carnegie Mellon): 
    • NMR in Biomedical Sciences
    • Molecular Biology of Eukaryotes
    • The Biology of the Brain.
  • Computer Science (Carnegie Mellon):
    • Artificial Neural Networks
    • Machine Learning
    • graduate core course in Artificial Intelligence.
  • Mathematics (Pitt):
    • Mathematical Neurophysiology
    • Neural Modeling Seminar
    • Dynamical Systems in the Plane.
  • Neurobiology (Pitt):
    • Sensory/Motor Functions of the Cerebral Cortex
    • Reaching and Grasping
    • Developmental Neurobiology
    • Molecular Physiology of Synapses
    • Issues in Cortical Physiology.
  • Neuroscience (Pitt):
    • Neurochemistry and Neurotransmission
    • Biological Bases of Psychiatric Disorders
    • Biochemistry and Signal Transduction
    • Seminar in Biophysics
  • Psychology (Carnegie Mellon):
    • Biological Foundations of Behavior
    • Cognitive Processes and Problem Solving
    • Cognitive Development
    • Cognitive Neuropsychology
    • Psychology of Reading
    • Perception and Perceptual Development
    • Language and Thought
    • Visual Cognition
    • Functional Neural Circuits.
  • Psychology (Pitt):
    • Research Methods in Cognition
    • Learning and Memory
    • Perception and Attention
    • Research Methods in Biophsychology
    •  Psychophysiology
    • Language and Cognition
    • Human Cognition
      • Research Methods
    • Human Cognition
      • Language
    • Human Cognition
      • Learning and Memory
      • Cognition and the Brain.
  • Robotics (Carnegie Mellon): 
    • Computer Vision
    • Advanced Perception
    • Fundamentals of AI in Robotics and Engineering.
  • Statistics (Carnegie Mellon):
    • Quantitative Methods in Neuroscience
    • Statistics for Laboratory Sciences
    • Experimental Design for Behavioral and Social Sciences
    • Statistical Methods for Behavioral and Social Scientists.
Pure and Applied Logic subspecialization of
  • Computer Science
5 Star courses (the Computer Science requirement)
  • One from each of these five areas:  Algorithms and Complexity, Artificial Intelligence, Computer Systems, Programming Languages, and Software Systems. 
  • At least five additional courses or core units in Logic, Logic-related areas, and other Theoretical Computer Science subjects. At least two of these should be offered by the Department of Computer Science. Since Computer Science Ph.D. students are restricted to taking the equivalent of at most one elective course (out of the required three) outside of SCS, in special cases, students may petition to have a second elective chosen from outside SCS.
The requirements for students in the Mathematical Sciences track (which are compatible with the requirements for other Mathematical Sciences graduate students) are: 
  • A one or two-semester course in logic including proofs of the completeness and incompleteness, compactness, and undecidability theorems. Students may fulfill this requirement by taking Mathematical Logic I & II, or other suitable courses. An appropriate choice will be made in consultation with the student's advisor. Of course, some students admitted to the program may already have fulfilled this requirement. They may still choose to take one or more of these courses to refresh or enhance their knowledge. 
  • Additional courses in Logic and Logic-related areas. At least five courses shall be taken at Carnegie Mellon to fulfill requirements 1 and 2.
The following Mathematics courses are required:
  • 21-610 Algebra I
  • 21-620 Real Analysis (half-semester)
  • 21-621 Intro to Lebesgue Integration (half-semester)
  • 21-640 Functional Analysis
  • 21-651 General Topology
  • The student will take additional courses to achieve a full course load of at least three courses per semester. Advanced students often sign up for Reading and Research.
The Philosophy Department at Carnegie Mellon University is distinguished by its precise approach to philosophical issues in: 

Cognition, AI, and Philosophy of Mind

  • history and philosophy of psychology 
  • artificial intelligence 
  • neural networks 
  • knowledge representation 
  • semantics and pragmatics of natural language 
  • foundations of computation 
Decision and Rational Choice
  • foundations of decision theory 
  • game theory 
  • rational choice 
  • political philosophy 
Epistemology, Scientific Method, and Automated Discovery
  • epistemology 
  • foundations of statistics 
  • belief revision and knowledge representation 
  • causal inference and discovery 
  • computational learning theory 
  • automated deduction 
Logic and Mathematical Thought
  • proof theory 
  • category theory 
  • constructive logic and type theories 
  • automated deduction 
  • logic of computation 
  • history of modern logic 
  • philosophy of mathematics 
  • philosophy of logic 
5 electives for Computer Science
Since Computer Science Ph.D. students are restricted to taking the equivalent of at most one elective course outside of SCS, in special cases, students may petition to have a second elective chosen from outside SCS.
[ Back to Top of Page ]
Research Requirements
All Ph.D. programs expect that students
  • do directed research each semester, while taking courses and/or being a teaching assistant
and require
  • a written thesis proposal and a public oral presentation of the proposal
  • a written thesis and a public oral presentation of the thesis.
[ Back to Top of Page ]
Teaching Requirements
All Ph.D. programs require each Ph.D. student to be a teaching assistant at least twice (two semesters) during their graduate career at Carnegie Mellon.  The sole exception is the Ph.D. program in Robotics, which requires being a teaching assistant for only one semester.
[ Back to Top of Page ]
Skills Requirements
Program Name
Research Qual
Computational and Statistical Learning Yes Yes Yes No No
Computation, Organizations and Society Yes Yes Yes No No
Computer Science Yes Yes Yes No No
Human-Computer Interaction Yes Yes No Yes No
Language and Information Technologies Yes Yes Yes No No
Each student must recruit a committee of faculty (and one student), Individualized Research Qualifier Committee, which judges whether the student has passed the speaking, writing, and research skills tests.
Yes Yes No No Yes
Software Engineering Yes Yes Yes No No
[ Back to Top of Page ]
Program Name  
Algorithms, Combinatorics, and Optimization Weekly ACO research seminar 
Computational and Statistical Learning Conference Presentation and Research Skills
Software Engineering Participation in the weekly ISRI Software Research Seminar requires about 3 hours/week plus one presentation preparation 
[ Back to Top of Page ]
SCS Community Service
All Ph.D. programs except HCII require each Ph.D. student to volunteer his or her time to serve the community.  There are many ways students can fulfill this requirement; most are fun or an educational experience.
[ Back to Top of Page ]
No Ph.D. program has oral or written qualifying exams.  All students are evaluated by their program's faculty members once a semester at Black Friday.  As long as students are making satisfactory progress in their respective programs, they remain in good standing.
[ Back to Top of Page ]
Transfer Policies Fall 2003
Computational and Statistical Learning
  1. Complete the application form. The CALD application form is available as a Microsoft Word Document a Text Document. You may print it and fill out the hardcopy. The form should be typed or clearly printed. If you need more space for your answers, attach additional sheets of paper. 
  2. Prepare a Statement of Purpose. On a separate sheet of paper, type a one- or two-page concise statement of purpose including relevant work history. 
  3. Include your updated resume.
  4. Request two letters of nomination. One letter should be completed by your advisor in your home department. The second letter must come from a CALD Faculty that could potentially be the new advisor. The nominations should be sent directly to Diane Stidle by the Faculty who complete them. 
  5. Request your home department to send your previous application materials including GREs, transcripts, TOEFL records, recommendation letters and your current Carnegie Mellon transcripts that include at least two terms of study. 
  6. Send all materials by January 5th to:
    1. Diane Stidle
      4609 Wean Hall
      Carnegie Mellon University
      5000 Forbes Avenue
      Pittsburgh, PA 15213-3891
Computation, Organizations and Society The COS PhD program is happy to consider requests for transfer by 1st-year students enrolled in other CMU-SCS PhD programs. Students must be in good academic standing.   Each request will be carefully considered on a case-by-case basis by the COS program committee
Computer Science
The Transfer Policy for students wishing to transfer into the Ph.D. in Computer Science Program is as follows:
  • If the student requesting to transfer has previously been admitted to the Ph.D. in Computer Science Program, the transfer is approved automatically.
  • If the student has not, then the student must go through the standard Ph.D. in Computer Science Program admissions process, though on a different time scale from a regular applicant.  The first-year student should request a transfer anytime before April 15.  The request is then (1) reviewed by the current admissions committee to determine qualification of the applicant and (2) a final decision on admission is made by the department head.
The expectation is that the admissions committee review occurs after students who have been offered admission for the coming fall have made their decisions; hence, the April 15 deadline for any request to transfer.  A likely time of review is the end-of-April committee meeting with a decision by the department head shortly thereafter.
Human-Computer Interaction Students from other SCS Ph.D. programs may apply for transfer to the HCII Ph.D. program at the time of regular admissions in the spring. Such transfer requests will be considered as a part of the regular admissions process for that year.  Students requesting transfer should enter information on the normal application form and must provide a new statement of purpose and an up-to-date transcript.  Other materials normally associated with an application (i.e., letters and scores) will be take from the student's original application unless the student chooses to replace them.
Language and Information Technologies
  • A transfer into the LTI must be sponsored by a faculty member, who agrees to act as advisor and provide funding for at least a year;
  • The Chairs of the Graduate Program and the Graduate Admissions committee must review the student's qualifications and make an admission and coursework recommendation;
  • An admission decision is made by the LTI faculty at the next faculty meeting, based on the above two conditions.
Robotics Transfers from other SCS PhD programs require approval by the Chair of  the Robotics PhD Program, who will consult the Admissions Committee and the Director of the Robotics Institute.
Software Engineering The Software Engineering PhD Internal Transfer Policy has three components:
  1. We welcome transfers of SCS PhD students [a] whose research interests are compatible with our program scope and [b] whose research (co-)advisor is a member of the Software Engineering PhD program faculty.  In general, if applicants are making satisfactory progress in their current PhD program and they have good reasons to transfer to the software engineering PhD program, then they can usually expect to be accepted for transfer.
  2. Our process for decisions and credential evaluation/transfer has three steps.  First, the student notifies the program director of his or her interest in a transfer.  Second, a reading committee of two program faculty along with the program director evaluate the particulars of the case and formulate a recommendation.  One of the committee members will normally be the research advisor of the prospective student.  Third, the recommendation of the reading committee is considered by the SE PhD Black Friday committee.  This latter deliberation and action does not need to happen at a formal BF meeting -- email or other means of communication are sufficient.
  3. The evaluation of credentials (prior work in another SCS PhD program) to satisfy SE PhD program requirements will be evaluated by the reading and BF committees on a case-by-case basis.  (Guidelnes may be published for transfers if there is sufficient demand.)
[ Back to Top of Page ]

Updated 21-November-2003