Skip to main content

last edited: September 2024

This document lists the combined requirements of the Graduate School and of the Department of Computer Science (COMP) and supersedes all previous issues. Reference is occasionally made for further details to the Graduate School Handbook (GSH). Apparent errors in the present document should be called to the attention of the Director of Graduate Studies.

Please note: Computer Science Graduate students cannot apply for both MS and PhD degrees in the same semester. An MS student (or a PhD student ‘pursuing MS degree along the way’) must take COMP 992 in the same semester as applying for the MS degree. Students admitted as an MS student that need to switch to PhD at the end of year 2, can do so by either applying for the MS degree or foregoing the MS degree. The MS program has a 5-year clock.

Please also refer to the Graduate Program Policies document for explanation of several issues not discussed in detail in this document.

Table Of Contents


Admission To Doctoral Program

Admission to the doctoral program is by a vote of the Department faculty and is determined by performance on the Preliminary Research Presentation and Exam (PRP), course grades (we expect a positive Calingaert score computed over all courses taken as a graduate student at UNC), admissions information, accomplishment on assistantships, and other testimony from the faculty. Admission is normally considered following the PRP.  Students who have been major contributors to a paper submitted to a well-known, refereed conference or journal may apply for a waiver of the PRP exam.

Financial support from the department will normally not be provided beyond the fourth semester for students who have not been admitted to the doctoral program.

Advising

When a student enrolls, a faculty member is appointed to serve as the student’s academic adviser. As the student’s research interests become defined, the student should change to a research adviser as appropriate. Changes in adviser should be reported to the Student Services Manager. Additional details can be found in the Graduate Program Policies document.

Administration

The Graduate Studies Committee (a standing committee of the Department faculty, chaired by the Director of Graduate Studies) interprets degree requirements, approves plans of study, and acts on petitions from students to the Department and to the Graduate School.

A full-time Graduate Student Services Manager maintains student records, answers student queries, and directs student requests to the Graduate Studies Committee and to the Graduate School. All student requests should be made through the Student Services Manager, usually on CS forms or Graduate School forms. The Student Services Manager ([email protected]) office is in Room 142 of the Fred Brooks Building. The Manager will handle the forms or forward them to the appropriate office.

Course Requirements

The following are minimum requirements. The student’s committee may impose further requirements as it judges appropriate. Unless otherwise specified, “course” means a 3-hour graduate-level course. Two 1.5-hour courses may be accepted as equivalent to one 3-hour course. Taken “as a graduate student” does not necessarily mean at UNC-CH, and it permits the course to have been taken as a UNC-CH post-baccalaureate Continuing Education student.

COMP 915: Each student must pass COMP 915. For students interested in teaching a course in the department, they must have completed this course before they can be assigned for teaching.

Primary concentration. Three or four courses of which at least two support in depth the specific dissertation topic and at least one supports more generally the area of computer science in which the dissertation topic falls. The courses do not need to be related to each other, except in that they support the dissertation. These courses may have been taken as an undergraduate and may have been counted towards an undergraduate degree.

Breadth requirement. Each student must take an additional 6 courses to fulfill a breadth requirement.  Courses are classified into the following 4 categories.

The set of six breadth courses must meet the following criteria.

  1. At least one course in each of the 3 CS categories, and at the 600 level or above.
  2. Normally no more than 2 courses in any category but students may petition to apply 3 in a category outside of their thesis research area(s).
  3. All 6 courses must have been taken as a graduate student. Courses taken at UNC that satisfy the guidelines for the set of breadth courses will be accepted automatically. The Graduate Studies Committee will consider courses taken at another graduate program, or equivalent professional experience, and/or graduate courses taken during undergraduate study, on a case by case basis (course waiver forms must be submitted for consideration).
  4. PhD Computer Science graduate students that have a non-CS background can petition GSC (with justification) in order to consider exceptions for the breadth requirement.
  5. At most 1 CS course in the set of 6 courses can be at the 500 level or COMP 455. (We may consider 2, by petition to the Grad Studies Committee, for students with non-CS backgrounds doing interdisciplinary research.) COMP 550 is not allowed to be in the set.
  6. The non-CS courses must support either the dissertation research or the field of computer science, and be at the 400 level or above. If the course is not on the standard list, it must be approved by the Graduate Studies Committee.

The student’s mastery of content will be determined by the course grade in the six courses satisfying the breadth requirement: a P- or better must be obtained in each course, and a Calingaert score of 0 or higher must be obtained on the six courses combined.

The Calingaert Score is a weighted average of course grades, where the weights are chosen so that a score of 0 reflects an average letter grade between a P+ and an H-. The weights for the letter grades are as follows:

Grade H+ H H- P+ P P- L+ L L-
Weight +5 +3 +1 -1 -3 – 5 -7 -9 -11

For example, the Calingaert Score for three courses with letter grades P+, H-, and H would be (-1 + 1 + 3)/3 = +1.0 (assuming the three courses carry the same number of credit hours). The name recognizes Dr. Peter Calingaert, professor emeritus, who devised the measure when he was Director of Graduate Studies.

Background Preparation. In addition, each student must demonstrate mastery of the subjects considered to be essential or required preparation for our graduate program. The following UNC courses define the required preparation for our program (for a more detailed description of course contents, consult the UNC course catalog).

Effective Fall 2024, the faculty approved the following background requirements:

Computer Science

  • COMP 210 Data Structures
  • COMP 311 Computer Organization
  • COMP 455 Models of Languages and Computation
  • COMP 550 Algorithms and Analysis
  • Any two of the following:
    1. COMP 421 Files and Databases
    2. COMP 431 Internet Services and Networking
    3. COMP 433 Mobile Computing Systems
    4. COMP 520 Compilers
    5. COMP 524 Programming Language Concepts
    6. COMP 530 Operating Systems
    7. COMP 533 Distributed Systems
    8. COMP 541 Digital Logic and Computer Design
    9. COMP 590 Undergraduate Computer Architecture

Mathematics and Statistics

  • MATH 233 Calculus of Functions of Several Variables
  • COMP 283 Discrete Structures or MATH 381 Discrete Mathematics
  • MATH 347 Linear Algebra for Applications
  • STOR 435 Introduction to Probability

Typically most of this material will have been part of the student’s undergraduate education, but it is entirely normal to include one or more courses in the M.S. Program of Study to satisfy this requirement. Each student must detail their Background Preparation (Form CS-01) showing when and where the material above was mastered. In case of uncertainty about the material required in a particular course, consult an instructor of the course or the instructor(s) of courses that include the material as a prerequisite.

The program advisor and the Graduate Studies Committee review background preparation. However, the advisor takes the primary responsibility for signing off on CS-01. For each required background, advisor will do one of the following:

   – If student has taken a corresponding course, advisor will verify via student transcript.
   – If student has taken a more advanced course (for which the background course is a must-have prerequisite), advisor will verify via student transcript and syllabus for the advanced course. The advisor will take care of not stretching this policy too far. For example, graduate-level Algorithms (such as COMP 750) can be used to vouch for the background requirement for undergraduate Algorithms (COMP 550). However, a seminar course in Parallel Computing (that has COMP 311, COMP 550, and COMP 530 as required prerequisites) can not be used to fulfill these three background requirements. Such a course only relies on some parts of these backgrounds, and can not train in all of the material covered in these courses.
   – If student has self-studied, advisor can request/collaborate with the corresponding instructor for the course to evaluate student.
   – If student has done research, which was needed to first learn the corresponding background, advisor can again evaluate student on the contents.

Old background requirements: Students enrolled during or before the 2024-25 academic year may use either the requirements above or the older background requirements below.  Students who enroll in the Ph.D. program in Fall 2025 or later should use the background requirements above.

Computer Science

  • COMP 311 Computer Organization (offered as COMP 411 prior to Fall 2020)
  • COMP 210 Data Structures (offered as COMP 410 prior to Fall 2020)
  • COMP 550 Algorithms and Analysis
  • Any two of the following
    1. COMP 421 Files and Databases
    2. COMP 520 Compilers
    3. COMP 530 Operating Systems
  • COMP 524 Programming Language Concepts
  • COMP 541 Digital Logic and Computer Design
  • COMP 455 Models of Languages and Computation

Mathematics, Statistics, and Physics

  • MATH 233 Calculus of Functions of Several Variables
  • COMP 283 Discrete Structures or MATH 381 Discrete Mathematics
  • MATH 347 Linear Algebra for Applications
  • MATH 661 Scientific Computing I (Introduction to Numerical Analysis)
  • STOR 435 Introduction to Probability

Minor in Other Fields. The election of a minor field is optional and infrequent. Interested students can find more details under Graduate Program Policies.

Program Product Requirement

Each student is required to have programmed and documented a product-quality program product. A program product is a piece of software that is developed for the use of people other than the developer and for which there is evidence that it can be maintained by other developers after the initial developer is no longer working on it. This means that the student must demonstrate experience in the design, development, and documentation of a software product of significant size and complexity, preferably as part of a team. This requirement can be satisfied in one of the following ways.

  • An undergraduate software engineering course, such as COMP 523 ,
  • Graduate course programming assignments or projects at UNC,
  • RA programming assignments at UNC, or
  • Industrial experience (e.g. co-op or summer internship). For industrial experience to qualify, it needs to satisfy all of the following:
    • the organization that you worked for has a software development process (this precludes, for example, a single person who asked you to build something)
    • the requirements were given to you
    • the software will be used by other people
    • the code will be maintained by someone else after you completed it

The project options must be approved by two faculty members.  The student must file Form CS-13 to document completion of the requirement.

Doctoral Examinations

A doctoral written examination, a doctoral oral examination, and a final oral examination covering the dissertation and other topics as required by the examining committee must be passed. Students must be registered the semester(s) in which exams are taken.

Preliminary Research Presentation And Exam

Doctoral Written Examination

In the Department of Computer Science, the Comprehensive Paper Option of the Writing Requirement serves as the Doctoral Written Examination. It is identical to the written form of the M.S. Comprehensive Examination. If failed, the examination may be retaken, once only (except by petition).

Research Plan Discussion

The Department of Computer Science requires each PhD student to discuss their planned dissertation research with at least 3 potential members of their dissertation committee. This discussion is meant to precede the proposal-formulating phase and can be used to get preliminary feedback from the committee members on the planned research (as well as get the faculty member’s consent to serve on the dissertation committee).

After consulting with their advisors, students could choose to set up either individual meetings with the prospective committee members, or could schedule a group meeting with their advisors and committee members. In these meetings, students may want to briefly summarize their research to date and provide a brief overview of the planned future directions. Slides may be used to guide the discussion but are not required. This discussion is not expected to go into as much detail as a proposal meeting would. The CS-12 form is submitted after the discussion.

Doctoral Oral Examination

The Doctoral Oral examination may be taken by any student who has been admitted to PhD candidacy.

The examination, normally one and a half to three hours in length, will be administered by the student’s doctoral committee. The oral exam may be conducted with a majority (at least 3 members) of the committee; the full committee need not be formed to do an oral exam.  The scope and format of the examination will be selected by the committee, which will inform the student in writing of its selection well in advance.

As per the UNC graduate school handbook, the exam should be structured in such a way as to: 1) assess the extent and currency of the candidate’s knowledge in a manner that is as comprehensive and searching as the best practices of that field require; 2) test the candidate’s knowledge of all transferred courses; 3) discover any weaknesses in the candidate’s knowledge that need to be remedied by additional courses or other instruction; and 4) determine the candidate’s fitness to continue work toward the doctorate.If, after passing the Doctoral Oral examination, the student undertakes dissertation research in a different area, the doctoral committee appointed for the new dissertation may, at the committee’s discretion, require the student to take a further Doctoral Oral examination in the new area.

A common format for the oral exam is for the committee, led by the advisor, to select a corpus of about 10-15 relevant papers from 3-5 sub-topics of broad relevance to the intended general dissertation area with a mix of classical and state-of-the-art work.  The student may be asked by the committee to prepare slides describing the papers; however, the majority of the examination should involve the committee asking  the student questions about the papers.

Students should plan  to complete the oral exam by the end of their sixth semester, and before the dissertation proposal.

Results of the examination may be: pass, pass with remedial action, or fail. If failed, the examination may be retaken, once only (except by petition), after a lapse of at least three months (GSH: Doctoral Degree Requirements).

Dissertation

The candidate must present a dissertation constituting a worthwhile contribution to knowledge developed by the independent research of the candidate, meeting scholarly standards of organization, presentation, and literary merit, and prescribed standards of form (GSH: Doctoral Degree Requirements and the Graduate School document Guide to Theses and Dissertations). The advisor and at least two other members of the student’s committee will read carefully the entire dissertation.

Proposal. A cooperative meeting of the student with his or her doctoral committee will be held to discuss the feasibility of the student’s proposed research. At least one week before meeting, the student shall submit to the committee a brief written dissertation proposal defining the scope of the proposed research and the planned method of attack on the research problem. The committee will either approve or reject the plan at this meeting. The student is responsible for arranging the time and place of the meeting. The meeting can either precede or follow the Doctoral Oral examination, by either a short or a long interval, at the discretion of the student and committee. The student is expected to call a committee meeting at least every six months to discuss the progress of the dissertation.

Committee Composition. The student’s doctoral committee consists of at least five persons, a majority of whom must be regular members of the COMP Graduate Faculty. Other committee members may be faculty from other institutions, scholars from industry, or others whose expertise is relevant to the dissertation (GSH: Doctoral Degree Requirements). At least one committee member must hold the rank of Associate Professor or higher. The student names the committee by submitting the “Report of Doctoral Committee Composition” form. For each proposed committee member who is not on the Graduate Faculty, acurriculum vitae should be submitted with the Report of Doctoral Committee Composition form to the Student Services Manager. The dissertation adviser serves as committee chair, unless the adviser is not a COMP faculty member, in which event a COMP faculty member serves as chair.

The student must register for at least six credit hours of dissertation, COMP 994 (GSH: Registration).

Final Oral Examination

The Final Oral examination normally consists of a public dissertation defense confined to the subject area of the dissertation. The student presents his or her research for 50 minutes; questions follow from the committee and from the audience. If the committee feels it necessary, it may supplement the dissertation defense by a private examination on other material. Before the defense can take place, the adviser and at least two other members of the student’s committee must agree that the dissertation is in substantially finished form. The defense should be announced at least two weeks in advance. The student must apply by the deadline to the Graduate School for award of the degree (GSH: Graduation).

Students must be registered for COMP 994 (minimum of three credit hours) in the semester in which the dissertation is defended (GSH: Registration).

Residency & Time Limit

Residence Credit. Four semesters of residence credit must be earned. At least two of these must be earned by continuous registration for no fewer than six semester hours per regular semester or summer session, although registration during the summer is not required for continuity (GSH: Residence Credit). The residence credit hour requirement requires UNC-CH registration (i.e., no transfer credit). Note that a semester in residence is not identical to a semester of residence credit.

Time Limit. All requirements for the Ph.D. must be completed within eight calendar years from the date of the student’s first classification as a doctoral student by the Graduate School, whether in Computer Science or in another graduate program.

If a student is admitted directly to doctoral study, as indicated in the letter offering admission, the eight years begin upon first registration. If a student is permitted by faculty vote to bypass the M.S. degree, or to continue beyond the M.S. degree, the eight years begin at the start of the regular term or summer session that immediately follows the faculty vote or that in which the M.S. is conferred.

Although the department tries to keep track of degree time limits, the Graduate School’s interpretation is controlling, and students are responsible for meeting the time limits.

As much as two years of time spent in active military service, the Peace Corps, or VISTA will not be counted against the time limit, provided that the Graduate School is informed. Also, a student may request a leave of absence for a definite, stated time, not to exceed one year. If the Department and Graduate School approve, the duration of the leave is not counted against the time limit (GSH: Doctoral Degree Requirements).

Other Requirements

Each student is strongly urged, but not required, to spend at least one summer in employment as a professional computer scientist.

If degree requirements change during a student’s stay in the Department, the student has the option of continuing under the old rules or switching and satisfying all the new rules. In other words, the student can elect any point in time during his or her stay in the Department and satisfy all the rules in effect at that point.

An exception to any rule may be requested for cause by petition. Decisions made by individual faculty members or by committees may be appealed to the Department faculty as a whole.

Doctoral students are expected to contribute to department outreach efforts by volunteering to demonstrate research projects or engage with visitors during community outreach events. Students are encouraged to contribute three to six hours of outreach per academic year.

Milestones (By Semester) And Required Forms

The following schedule represents typical progress toward the Ph.D. degree. Failure to complete certain milestones may result in a student being deemed as making unsatisfactory progress and could impact funding.

By the end of semester 3
  • Complete the Preliminary Research Presentation or apply for a PRP waiver.
By the end of semester 4
  • Gain admission to PhD candidacy through PRP and faculty vote.
By the end of semester 5
  • Discuss research plan with at least three (potential) committee members; submit Form CS-12.
By the end of semester 6
  • Name the remaining members of the doctoral committee (Graduate School form).
  • Submit Plan of Study (Form CS-06) with background preparation (Form CS-01) approved by the committee.
By the end of semester 7
  • Submit a dissertation proposal to the committee; hold meeting for approval of proposal or
  • Pass the Doctoral Oral examination.
By the end of semester 8
  • Submit dissertation proposal and pass the Doctoral Oral examination.
  • Apply for Admission to Candidacy for a Doctoral Degree (Graduate School form).
At any time
  • Satisfy the program product requirement; submit Form CS-13.
  • Submit course waiver forms as appropriate.
Every six months after approval of the dissertation proposal
  • Meet with the committee to discuss dissertation progress.
By the end of semester 10
  • When dissertation is in substantially finished form, announce dissertation defense, giving two weeks’ notice.
  • Pass Final Oral examination (dissertation defense).
  • Submit completed and signed dissertation to the Graduate School.