As a computer science PhD student at CU Boulder, students take part in tier one research, learning from nationally and internationally recognized faculty.
Computer Science faculty, staff, and students are engaged in cutting edge research projects that address some of the most important challenges facing society today. From harnessing the power of big data to modeling climate change to understanding the role of social media, advances in computer science today will change the world tomorrow. The department offers opportunities in seven main research areas.
Students select from focus areas in artificial intelligence, robotics, computational biology, human-centered computing, numerical and scientific computing, programming languages, software engineering, systems and networking, quantum and theory of computing. The PhD program in computer science is available whether a student is entering graduate studies for the first time or if they already have a master's degree. While a master's is not required to enroll, our PhD students will typically earn one on the way to a PhD.
PhD students consult with a faculty advisor throughout the duration of their degree to review their research progress and course selection.
For more information, visit the department's PhD Degree and Research webpages.
Requirements
Admission Requirements
Applicants must hold at least a bachelor's degree or its equivalent from an institution comparable to the University of Colorado. They should have programming experience, a number of computer science courses and sufficient mathematical maturity to understand pure mathematics courses at the upper division (junior/senior) level.
We highly recommend that PhD applicants complete the listed prerequisite courses before submitting their application, as the research match is the most important factor taken into consideration. Completing the prerequisites helps you in handling our graduate courses better and also opens more opportunities to be a teaching assistant. We also highly encourage such students to identify areas and faculty members they wish to work with. Research area match is the most important factor in PhD admissions. Therefore, please do go through research happening in our department to make sure this is the right place for you.
A minimum undergraduate GPA of 3.00 (on a scale of 4.00) is required for admission to the graduate program.
Mathematics Courses (Recommended)
A student's academic background should include at least three semesters of mathematics at the level of sophistication of calculus or above. Examples of such courses include calculus, differential equations, linear algebra, probability, statistics and abstract algebra. The courses should indicate that the student has achieved the mathematical maturity expected of an upper-level science, engineering or mathematics undergraduate.
Computer Science Courses (Recommended)
At least four one-semester courses in computer science that are beyond the introductory level are highly recommended for admissions. These are intended to demonstrate breadth of basic computer science knowledge in the areas of computer hardware, software and theory. The courses should include the equivalent of the following CU Boulder offerings:
- Hardware requirement: CSCI 2400 Computer Systems
- Software requirement: Either CSCI 3155 Principles of Programming Languages or CSCI 3753 Design and Analysis of Operating Systems
- Theory requirement: CSCI 2270 Computer Science 2: Data Structures and either CSCI 3104 Algorithms or CSCI 3434 Theory of Computation
More advanced versions of all courses are acceptable. The above courses are prerequisites to many of the graduate-level offerings, so it is important to complete these to be considered for graduate admissions.
Program Requirements
Course Requirements
- 30 credit hours in courses numbered 5000 or above, including three breadth courses, three 1-credit hour professional development courses, and six depth courses (3 credit hours of the depth needs to be CSCI).
- 30 credit hours of dissertation credit hours.
- A maximum of 21 credit hours of graduate coursework may be transferred from another accredited institution.
- All courses (except MS Thesis hours) taken for the master's degree at the 5000-level or above at CU Boulder may be applied toward the doctoral degree at the university.
| Code | Title | Credit Hours |
|---|---|---|
| Professional Development Requirement | ||
| The PhD degree requires students to complete the following three 1.0 credit hour professional development courses. All students must earn a B or better (not B-) in these courses. | 3 | |
| Introduction to the Computer Science PhD Program | ||
| Computer Science Colloquium | ||
| Computer Science PhD Career Development | ||
| Breadth Requirement | ||
| Students must complete one breadth course from each of the three bins listed below, for a total of 9 credit hours of breadth courses. All three breadth courses must be taken within the first five semesters. Students must earn a grade of B or better in each of the three breadth courses. 1 | ||
| Bin One | ||
| Choose one: | 3 | |
| Computer Graphics | ||
| Quantum Computation and Information | ||
| Convex Optimization and Its Applications | ||
| Probability for Computer Science | ||
| Introduction to Theory of Computation | ||
| Nonlinear Dynamics and Chaos | ||
| Design and Analysis of Algorithms | ||
| High-Performance Scientific Computing | ||
| Principles of Numerical Computation | ||
| Numerical Solution of Partial Differential Equations | ||
| Numerical Linear Algebra | ||
| Linear Programming | ||
| Numerical Optimization | ||
| Bin Two | ||
| Choose one: | 3 | |
| Introduction to Robotics | ||
| Advanced Robotics | ||
| Algorithmic Human-Robot Interaction | ||
| Network Analysis and Modeling | ||
| Research Methods in Human-Robot Interaction | ||
| Data Mining | ||
| Introduction to Mixed Reality | ||
| Machine Learning | ||
| Computer Vision | ||
| Probabilistic and Causal Modeling in Computer Science | ||
| Natural Language Processing | ||
| User-Centered Design and Development 1 | ||
| Input, Interaction, and Accessibility | ||
| Fundamentals of Neural Networks and Deep Learning | ||
| Bin Three | ||
| Choose one: | 3 | |
| Computer-Aided Verification | ||
| Big Data Architecture | ||
| Datacenter Scale Computing - Methods, Systems and Techniques | ||
| Network Systems | ||
| Introduction to Computing Security | ||
| Computer Security and Ethical Hacking | ||
| Object-Oriented Analysis and Design | ||
| Modern Offense and Defense in Cybersecurity | ||
| Compiler Construction | ||
| Fundamental Concepts of Programming Languages | ||
| Advanced Operating Systems | ||
| Distributed Systems | ||
| Database Systems | ||
| Foundations of Software Engineering | ||
| Theoretical Foundations of Autonomous Systems | ||
| Depth Requirement | ||
| 18 graduate-level credit hours with faculty advisor approval. Within these 18 credit hours, no more than six credit hours can be Independent Study research hours and no more than 12 graduate-level credit hours (four courses) can be non-CS classes with advisor approval. Students need at least a B or better in these courses. | ||
| An additional 18 credit hours are required to complete the degree, with restrictions. 2 | 18 | |
| Dissertation Requirement | ||
| To complete the degree requirements for the PhD, a student must register for a minimum of 30 dissertation credit hours. A student may not register for more than 10 dissertation credit hours in any one semester, including summer. Consult with your research advisor/Principal Investigator (faculty) and graduate academic advisor (staff) regarding the number of hours you need to enroll in any given semester. | 30 | |
| Doctoral Dissertation | ||
| Total Credit Hours | 60 | |
| 1 | For a list of breadth courses by category, visit the department's Breadth Requirement webpage. |
| 2 | Certain courses are not eligible to count to the PhD degree program. Consult the program website for the most up-to-date information. |
Area Examination
The purpose of the area examination is to ensure that the student has sufficient depth to begin research in a selected area. Thus the exam tests knowledge of the general area of computer science that contains the research topic, deeper specialized knowledge of the specific research area that the student will be working in, and intellectual sophistication needed to conduct research in the area.
The area examination contrasts with the comprehensive exam, which is devoted to a focused research theme. It complements the coursework requirement of the preliminary exam, which is meant to build breadth in Computer Science in general and general knowledge of the student's research area.
For more information, visit the department's PhD Area Exams information.
Comprehensive Examination
After passing the preliminary examination, the student continues their coursework and prepares a written thesis prospectus within four years of their admission to the program. When ready, the student takes an oral comprehensive examination covering their graduate coursework and thesis prospectus. The oral examination is based primarily on a written proposal for the thesis research provided by the student to committee members in advance. This examination is conducted before the student's doctoral committee of five or more graduate faculty members chosen by the student and approved by the department and the Graduate School.
For more information, visit the department's PhD Comprehensive Exam/Proposal information.
PhD Dissertation
Students must write a dissertation based on original research conducted under the supervision of a graduate faculty member. The dissertation must fulfill all Graduate School requirements. After the dissertation is completed, an oral final examination on the dissertation and related topics is conducted by the student’s doctoral committee.
For more information, visit the department's PhD Dissertation information.
Time Limit
All degree requirements must completed within six years of the date of commencing coursework.
Learning Outcomes
By the completion of the program, students will be able to:
- Become an expert in a subfield of computer science, and make a major research contribution to the subfield.
- Solve technical problems in computer science through writing code, pseudocode, technical writing and/or applying foundational concepts from a variety of subfields.
- Cast large, societal and/or complex problems as computational problems.
- Communicate clearly about their ideas and their research.
Evaluation Methods
- Peer-reviewed research publications in journals and conference proceedings relevant to the field of study. Formulating a coherent research thesis and successfully defending it against a panel of experts.
- Completion of departmental PhD milestones: breadth course completion with the required grades; Area Exam, Proposal Defense and Final Defense by departmental defined timeline.