Skip to main content

Graduate Curriculum Overview

A flexible course of study for master’s and doctoral degrees focuses on areas of choice and accommodates differences in students’ backgrounds. The two degree programs share a basic background preparation and a breadth requirement across theoretical, systems, and applied subject areas. The doctoral program includes work in specialized areas, preparation for teaching, and active involvement in advanced research. For more information about graduate admission to the Department of Computer Science, see Admissions Requirements and how to Apply.

Master of Science

Master of Science (M.S.) in Computer Science

A master’s candidate must earn 30 semester hours of credit in courses numbered 400 or higher, of which up to 6 hours may be transferred from another institution or graduate program. A core of 18 hours must be COMP coursework, excluding COMP 991 (Reading and Research). Satisfactory completion of the breadth requirement provides 9 hours of credit in this core. Other credits in the core are earned in areas of specific interest and may also include course work, as needed, to address the following requirements:

  1. The technical writing requirement may be satisfied in one of three ways:
    1. by taking our technical writing course, COMP 992
    2. by writing a thesis
    3. by writing a technical document in either academic or nonacademic work that has been reviewed and accepted (this may include a previously written thesis or dissertation)
  2. The program product requirement may be satisfied by taking our software engineering course, COMP 523, or through demonstrated experience with the design, development, and documentation of a software product of significant size and complexity, preferably as part of a team.
  3. The background preparation requirement reflects the body of material that is prerequisite to our graduate courses. Courses needed, if any, to satisfy this requirement are decided in consultation with the candidate’s adviser, course instructors, and the graduate studies committee.

The remaining 12 hours are elective and can include Reading and Research credit as well as appropriate coursework in other departments.

A comprehensive exam is also required of all students and has three possible forms:

  1. satisfactory completion of a comprehensive paper (this also satisfies the technical writing requirement when written as part of COMP 992)
  2. a master’s thesis (which counts for six hours of credit)
  3. an oral exam covering material from the courses in the candidate’s program of study. For students intending a Ph.D., option (1) or (2) is required. A full-time student generally completes the M.S. degree in four semesters or less.

The Department of Computer Science also offers a combined bachelor’s and master’s degree program (B.S./M.S.), which allows undergraduate students to graduate with a master’s degree in as few as five years. To learn more about that degree program, visit our Undergraduate Degree Programs page.

Doctor of Philosophy

Doctor of Philosophy (Ph.D.) in Computer Science

Admission to the doctoral program is by a preliminary research paper and presentation and upon recommendation of the faculty. There is no credit hour requirement for the Ph.D. program, but a Ph.D. candidate must complete courses to satisfy the breadth requirement and any needed background preparation.  A Ph.D. candidate proposes an individual program of study, typically 9 to 15 hours in the primary concentration.  Previous course work can be used to satisfy much of the program of study. A candidate must also satisfy the program product requirement, participate in the technical communication seminar, pass an oral examination in the proposed dissertation area, and submit and defend a dissertation that presents an original contribution to knowledge. The typical time needed to complete the degree by a full-time student is five years.

Graduate Minor in Computer Science

Students pursuing graduate degrees in other departments may declare a minor in Computer Science as permitted by the Graduate School rules using the procedure given below.

A minor in a master’s program consists of at least 9 hours of courses (3 classes). A minor in a doctoral program consists of at least 15 hours of courses (5 classes). None of the proposed coursework should be cross-listed in the student’s home department (but this may be excepted). Declaration of a Minor in Computer Science must be authorized by the Computer Science faculty. Declaration of a minor spanning multiple fields including Computer Science must also be approved by the Computer Science faculty.

Proposals for minors involving Computer Science will be handled as follows:

The student, in conjunction with the major advisor, may propose the content of a minor involving Computer Science courses meeting Graduate School requirements.

Students can consider courses numbered higher than 500 (455 can also be considered). At least one course from each of the three course categories (https://cs.unc.edu/graduate/categories-of-courses/) is expected for all graduate minors. For Ph.D. minor applicants, one of the five courses must be COMP 550 (or alternatively, COMP 750).

Procedure
Write a letter to the Computer Science Department’s Graduate Studies Committee, endorsed by your advisor, stating your intentions, specifying the proposed coursework for the minor, and describing any previous experience or coursework you have had in Computer Science, at UNC or elsewhere. Deliver the letter to the Computer Science Department’s Student Services Manager for delivery to the Director of Graduate Studies.

The Graduate Studies Committee will consider the proposal and get back to you (usually within 2 weeks). The Director of Graduate Studies will respond stating the Committee’s disposition of the proposal.

A negative decision may be reconsidered by the Graduate Studies Committee on presentation of further information or modifications, or a refusal can be appealed to the full CS department faculty. The Director of Graduate Studies would normally bring the appeal to the faculty.

When the minor is approved by the Department of Computer Science, you and your advisor must then get the approval of the Director of Graduate Studies in your home department and then ensure that copies of the proposal and approvals get into your permanent records in the home department and the Graduate School.

The Graduate School’s Minor Declaration Form can be found here.