PhD in Computer Science
90.0 credits
General Requirements
The following general requirements must be satisfied in order to complete the PhD in Computer Science:
- 90.0 credit hours total
- Establishing a plan of study with your Advisor
- Qualifying courses
- Candidacy exam
- Approval of dissertation proposal
- Defense of dissertation
Students entering with a master’s degree may be exempted from some or all of the courses in the breadth requirement; however, they are still required to meet all milestones of the program. In addition students may receive up to 45.0 transfer credits for an existing MS degree in Computer Science or related field. Individual courses may also be transferred with approval of the Graduate Advisor. The total credit amount, candidacy exam, and dissertation are University Requirements. Additional requirements are determined by the department offering the degree.
Qualifying Courses
To satisfy the qualifying requirements, students must earn a grade of B+ or better in the first 6 Computer Science graduate courses taken at Drexel, and must earn an overall GPA of 3.5 or better in these courses. Normally these courses comprise the 3 mandatory‐core and 3 flexible‐core courses taken as part of the PhD program; however, they may in some cases include more advanced courses (e.g., if the student has received transfer credit for a core course). Undergraduate courses, independent studies, research credits, and courses from other departments cannot be counted toward the qualifying requirements. Student progress toward these requirements will be assessed in the Annual Review following the student's first year in the PhD program. For more information visit the Department's PhD Qualifying Requirements page.
| Students take the following three (3) core requirement courses: | 9.0 Credits | |||
![]() |
||||
| CS 521 | Data Structures and Algorithms I | 3.0 | ||
![]() |
||||
| CS 525 | Theory of Computation | 3.0 | ||
![]() |
||||
| CS 550 | Programming Languages | 3.0 | ||
![]() |
||||
| Students select (3) flexible core requirement courses from the following list: | 9.0 Credits | |||
![]() |
||||
| CS 510 | Artificial Intelligence I |
3.0 | ||
![]() |
||||
| CS 522 | Data Structures and Algorithms II |
3.0 | ||
![]() |
||||
| CS 530 | Developing User Interfaces |
3.0 | ||
![]() |
||||
| CS 536 | Computer Graphics |
3.0 | ||
![]() |
||||
| CS 540 | High Performance Computing |
3.0 | ||
![]() |
||||
| CS 543 | Operating Systems | 3.0 | ||
![]() |
||||
| CS 544 | Computer Networks | 3.0 | ||
![]() |
||||
| CS 567 | Applied Symbolic Computation |
3.0 | ||
![]() |
||||
| CS 576 | Dependable Software Systems | 3.0 | ||
![]() |
||||
| CS 583 | Introduction to Computer Vision | 3.0 | ||
![]() |
||||
In addition, all students are required to take an additional four (4) breadth requirement electives, developing background knowledge in an area of particular interest. These courses are organized into the following seven areas. |
||||
| Artificial Intelligence | ||||
![]() |
||||
| CS 510 | Artificial Intelligence I | 3.0 | ||
![]() |
||||
| CS 511 | Robot Lab | 3.0 | ||
![]() |
||||
| CS 610 | Advanced Artificial Intelligence | 3.0 | ||
![]() |
||||
| CS 612 | Knowledge Based Agents | 3.0 | ||
![]() |
||||
| CS 613 | Machine Learning | 3.0 | ||
![]() |
||||
| CS 770 | Topics in Artificial Intelligence | 3.0 | ||
![]() |
||||
| Algorithms and Theory | ||||
![]() |
||||
| CS 522 | Data Structures and Algorithms II |
3.0 | ||
![]() |
||||
| CS 620 | Advanced Data Structures and Algorithms | 3.0 | ||
![]() |
||||
| CS 621 | Approximation Algorithms | 3.0 | ||
![]() |
||||
| CS 623 | Computational Geometry | 3.0 | ||
![]() |
||||
| CS 676 | Parallel Programming | 3.0 | ||
![]() |
||||
| Human Computer Interaction/Computer Graphics and Vision | ||||
![]() |
||||
| CS 530 | Developing User Interfaces | 3.0 | ||
![]() |
||||
| CS 536 | Computer Graphics |
3.0 | ||
![]() |
||||
| CS 583 | Introduction to Computer Vision | 3.0 | ||
![]() |
||||
| CS 630 | Cognitive Systems | 3.0 | ||
![]() |
||||
| CS 631 | HCI: Computing Off The Desktop | 3.0 | ||
![]() |
||||
| CS 634 | Advanced Computer Vision |
3.0 | ||
![]() |
||||
| CS 636 | Advanced Computer Graphics | 3.0 | ||
![]() |
||||
| CS 637 | Interactive Graphics | 3.0 | ||
![]() |
||||
| Numeric and Symbolic Computation | ||||
![]() |
||||
| CS 680 / MATH 540 | Numeric Computing | 3.0 | ||
![]() |
||||
| CS 680 / MATH 521 | Numerical Analysis II | 3.0 | ||
![]() |
||||
| CS 680 / MATH 522 | Numerical Analysis III | 3.0 | ||
![]() |
||||
| CS 540 | High Performance Computing | 3.0 | ||
![]() |
||||
| CS 567 | Applied Symbolic Computation | 3.0 | ||
![]() |
||||
| CS 668 | Computer Algebra
I |
3.0 | ||
![]() |
||||
| CS 669 | Computer Algebra II |
3.0 | ||
![]() |
||||
| Programming Languages and Compilers |
||||
![]() |
||||
| CS 551 | Compiler Construction | 3.0 | ||
![]() |
||||
| CS 552 | Compiler Construction I | 3.0 | ||
![]() |
||||
| CS 650 | Program Generalization and Optimization | 3.0 | ||
![]() |
||||
| CS 676 | Parallel Programming | 3.0 | ||
![]() |
||||
| CS 759 | Complexity Theory | 3.0 | ||
![]() |
||||
| Software Engineering |
||||
![]() |
||||
| CS 575 | Software Design | 3.0 | ||
![]() |
||||
| CS 576 | Dependable Software Systems | 3.0 | ||
![]() |
||||
| CS 675 | Reverse Engineering | 3.0 | ||
![]() |
||||
| CS 780 | Special Topics in Software Engineering | 3.0 | ||
![]() |
||||
| Networks and Operating Systems |
||||
![]() |
||||
| CS 500 | Artificial Intelligence I |
3.0 | ||
![]() |
||||
| CS 543 | Operating Systems | 3.0 | ||
![]() |
||||
| CS 544 | Computer Networks | 3.0 | ||
![]() |
||||
| CS 643 | Advanced Operating Systems | 3.0 | ||
![]() |
||||
| CS 645 | Network Security | 3.0 | ||
![]() |
||||
| CS 647 | Distributed Systems Software | 3.0 | ||
![]() |
||||
| CS 741 | Computer Networks II | 3.0 | ||
![]() |
||||
| CS 751 | Database II | 3.0 | ||
![]() |
||||
Depth Requirement
Doctoral students are required to complete at least 18 credits of CS courses beyond the breadth requirement. These courses should be 600- or 700- level courses or topics courses covering current research in selected areas. Course selection must be approved by the student’s research advisor. The department will periodically offer topics courses, typically run in a seminar fashion, on current research areas of interest to faculty, for instance:
• Topics in Artificial Intelligence
• Topics in Algorithms and Theory
• Topics in Human Computer Interaction
• Topics in Computer Graphics
• Topics in Numeric and Symbolic Computation
• Topics in Software Engineering
As part of the depth requirement 3 out of the 18 credits but no more than 9 credits are to be Independent Study work (CS690).
Plan of Study
Upon entering the PhD program, each student will be assigned an academic advisor, and with the help of the advisor will develop and file a plan of study (which can be brought up to date when necessary). The plan of study should be filed with the Graduate Coordinator no later than the end of the first term.
Candidacy Exam
The Computer Science candidacy examination serves to define the student’s research domain and to evaluate the student’s knowledge and understanding of various fundamental and seminal results in that domain. At this point the student is expected to be able to read, understand, analyze, and explain advanced technical results in a specialized area of computer science at an adequate level of detail. The candidacy examination will evaluate those abilities using a defined set of published manuscripts. The student will prepare a written summary of the contents of the material, present the summary orally, and answer questions about the material. The examination committee will evaluate the written summary, the oral presentation, and the student’s answers.Thesis Proposal
After completing the candidacy examination successfully, the PhD candidate must prepare a thesis proposal that outlines, in detail, the specific problems that will be solved in the PhD dissertation. The quality of the research proposal should be at the level of, for example, a peer-reviewed proposal to a federal funding agency, or a publishable scientific paper. The candidate is responsible for sending the research proposal to the PhD committee two weeks before the oral presentation. The PhD committee need not be the same as the candidacy exam committee, but it follows the same requirements and must be approved by the Office of Graduate Studies. The oral presentation involves a 30-minute presentation by the candidate followed by an unspecified period during which the committee will ask questions.
After the question and answer period, the candidate will be asked to leave the room and the committee will determine if the research proposal has been accepted. The research proposal can be repeated at most once. A thesis proposal must be approved within two years of becoming a PhD candidate.












