Master of Science in Computer Science
Last edited: August 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 in the same semester; to determine which program to apply for, please see here. For MS students or ‘PhD students pursuing an MS degree along the way,’ COMP 992 must be taken in the same graduating semester. Students admitted as MS students that need to switch to a PhD program at 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
- Advising
- Administration
- Courses
- Program Product Requirement
- Technical Writing Requirement
- Comprehensive Examination
- Other Requirements
- Milestones (By Semester) And Required Forms
- Supplemental Information (separate page)
Advising
Advisers provide advice, of course, but they are also contact points for advising bulletins and alerting the student to academic progress milestones. During the faculty’s review of student progress, the adviser is called upon to describe the student’s progress and discuss any problems or delays in that progress.
When a student enrolls in the department, a faculty member is appointed to serve as the student’s initial program adviser. While the department administration tries to match student and adviser interests in the assignment of initial program advisers, these assignments are based on incomplete information and are not binding. Students should change the faculty adviser as appropriate as the student’s plans and interests change.
To request a change of adviser, the student should send the request by e-mail to the Student Services Manager with copies to the Director of Graduate Studies and the involved faculty (old and new advisers). Such requests are usually approved without comment, but factors such as faculty load sometimes intervene. Consultation with the Director of Graduate Studies is recommended in advance of a change of adviser for any reason other than designation of the research director as the program adviser. (Changes of adviser for that reason are completely normal and almost automatically approved.) If a student elects to write a thesis for the M.S. degree, the thesis adviser should be designated the official program adviser and chair of the student’s guidance committee.
The Director of Graduate Studies serves as the backup adviser for routine signatures in case the program adviser is not available.
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.
Courses
Thirty (30) semester hours of courses numbered 400 or higher must be taken (excluding COMP 495, 496, 691H, 692H). Of these 30 hours, at least 18 hours must be in Computer Science (designated COMP in the catalog) numbered 400-890.
The remaining 12 hours must include COMP 993: Master’s Thesis Research or COMP 992: MS Non-Thesis Option. Note: At least 3 hours of COMP 992 or 993 is required by The Graduate School. Also, no more than 6 credits of COMP 991 and no more than 6 credits of COMP 992/993 can be used towards the MS credit hour requirement.
The remaining 9 hours, if outside COMP, should support MS graduate work (e.g., STAT courses for students focused on AI) and must be approved by the academic advisor in advance.
The choice of courses is subject to approval by the Graduate Studies Committee in the mandatory review of the M.S. Program of Study (Form CS-3).
Registrations for COMP 990 for research team meetings (denoted by section numbers > 100) do not count toward the credit hour requirement; other COMP 99x registrations do count as outside courses.
The 30 credit hours should be related to the general goal of getting an MS in Computer Science. However, students are encouraged to take courses taught by a department other than COMP, as long as the course topic supports their general area of study in Computer Science. The Graduate Studies Committee can help clarify if a course would be eligible.
Breadth requirement. Each student must take one course in each of the following categories to fulfill a breadth requirement.
The set of breadth courses must meet the following criteria.
- At most one course in the set can be at the 500 level or COMP 455. The other courses must be at the 600 level or above.
- Courses taken at UNC as a graduate student for the breadth requirement 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. For graduate courses taken previously, a CS-02 waiver form needs to be submitted.
The student’s mastery of content will be determined by the course grade in the set of three courses: a P- or better must be obtained in each course, and a Calingaert score of -3 or higher must be obtained on the three 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:
- COMP 421 Files and Databases
- COMP 431 Internet Services and Networking
- COMP 433 Mobile Computing Systems
- COMP 520 Compilers
- COMP 524 Programming Language Concepts
- COMP 530 Operating Systems
- COMP 533 Distributed Systems
- COMP 541 Digital Logic and Computer Design
- 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:
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
- COMP 421 Files and Databases
- COMP 520 Compilers
- 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 Analsis)
- STOR 435 Introduction to Probability
Transfer of MS Credits. Up to six semester hours of graduate credit may be transferred from another accredited institution, from courses taken at UNC-CH before admission to the Graduate School, or from courses taken in a different graduate program at UNC-CH, in partial fulfillment of the 30-hour total credits requirement (GSH: Course Credit). However, these credits must not have been used to satisfy the requirements for any previous degree (these were extra unused credits).
Course transfers should be indicated on the Program of Study form and must be approved by the Graduate Studies Committee and by the Graduate School. The Graduate School may require the student to pass an examination on the course content before approving the transfer.
Courses taken at Duke University, N.C. Central University, N.C. State University, UNC-Charlotte, and UNC-Greensboro count as home courses requiring no formal transfer if registered through inter-institutional registration (GSH: Registration).
For early feedback on proposed courses, the student may submit to the Graduate Studies Committee their background preparation (on Form CS-01, approved by the program adviser), and a proposed plan of study (on Form CS-03) chosen after consultation with the program adviser. The student may submit a plan early to find out what will be acceptable, and may specify choices such as “Course x or Course y”, retaining the right to make the choice later if it is approved.
COMP 910: Module Courses. COMP 910 is a device called a “module course” that permit a student to take part of a course for part of the credit. More details are available under Graduate Program Policies.
Minor in Other Fields. The election of a minor field is optional and infrequent. Interested students can find more details under Graduate Program Policies.
Courses Taught by Graduate Students. In the event that one COMP graduate student takes a course taught by another COMP graduate student, the Director of Graduate Studies should be consulted to determine whether credit can be granted. In general, it is encouraged that graduate students wait till the course is taught again by a faculty member.
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). The industrial experience must 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 CS-13 to document completion of the requirement.
Technical Writing Requirement
Each student must demonstrate the ability to write a professional-quality technical document. There are three options available for satisfying this requirement, as follows:
Comprehensive Paper Option
The paper should be either a project report that includes a comprehensive survey of the literature, or a survey and synthesis of a substantial body of work. The document satisfying the technical writing requirement should be a product of working closely with a faculty advisor, the primary reader, through multiple iterations of writing refinement and feedback. The paper is then presented to the secondary reader for review. A requirement is that both readers judge the paper to be of M.S. thesis or publication quality with respect to both substance and presentation. This option must be reported on Form CS-08.
Students who appear for the PRP exam, may be able to extend the PRP written report to satisfy the above comprehensive requirement.
The student must register for at least three hours, but not more than six hours, of COMP 992. Students can either enroll in a 1-on-1 COMP 992 section with the primary reader or enroll in a group class based COMP 992.
Thesis Option
A written thesis is based either on research or on the solution and documentation of a substantial problem in application or system programming. The thesis option is chosen infrequently. Interested students can find more details in this supplementary document.
Outside Review Option
A student who has written certain technical material in academic or nonacademic work may use this material to satisfy the writing requirement. The student should apply to the Graduate Studies Committee on Form CS-04. The relevant documentation should be attached; it will be returned.
Documents may be accepted as satisfying this option only when all the following conditions have been met:
- The document is written in the English language.
- The student is the principal author of the document. If there are co-authors, the advisor will be asked to acknowledge that the student did the bulk of the writing.
- The document has technical content and is at least 5,000 words long.
- The document has been reviewed, evaluated, and approved for both style and content by each of at least two readers.
- The review process was such that the result of a negative review would have been rejection of the document.
- The review process was unrelated to this writing requirement.
- In order to use the Outside Review option to also meet the Comprehensive Exam requirement, the paper must be extended to add a comprehensive component. This is typically done by extending the review of the state of the art to make it significantly more broad and comprehensive.
Documents that satisfy this policy include: (1) Ph.D. dissertations and M.S. theses with technical content; and (2) most articles (of sufficient length and appropriate content) published in refereed journals or conference proceedings.
Documents that do not satisfy this policy include: (1) term papers and project reports for UNC-CH COMP courses, and (2) papers written primarily to satisfy this option.
Comprehensive Examination
At the end of the M.S. program of study, students must pass a comprehensive examination (this is a Graduate School requirement). The M.S. Comprehensive Examination tests the student’s mastery of graduate-level computer science material and supporting undergraduate content. The student may elect to take either a written or an oral comprehensive exam.
A student must be registered during the semester in which the M.S. Comprehensive Exam is taken (GSH: Master’s Degree Requirements).
Written Option
In the Department of Computer Science, the comprehensive paper or thesis submitted to satisfy the Writing Requirement serves as the written form of the M.S. Comprehensive Examination. If outside review option was used for the writing requirement, the paper must be extended to add a “comprehensive” component (in order to be used as the M.S. Comprehensive Examination). This is typically done by adding a comprehensive review of the state of the art.
If passed, the Written M.S. Comprehensive Examination can also satisfy the Doctoral Written Examination, should the student choose to continue toward the Ph.D. degree.
Oral Option
The student may opt to take an Oral M.S. Comprehensive Examination. Passing an Oral M.S. Comprehensive Examination cannot satisfy the Ph.D. Written Examination requirement.
This option is used infrequently. Details about the Oral Comprehensive Exam can be found in this supplemental document.
Consequences
If the student passes the exam, that fact is reported to the Graduate School by the department.
If the student fails the exam, the Comprehensive examination may be retaken, only once (except by petition), after a lapse of at least three months. The student may elect an oral or a written form for the second examination independently of the form of the first (GSH: Master’s Degree Requirements).
If the failure resulted primarily from weakness in a narrow area, the second examination may be designated to cover only that area of weakness. For an oral examination, the examining committee will notify the student, in writing, of the scope of the second examination.
Other Requirements
Residence Credit. Two semesters of residence credit must be earned (GSH: Master’s Degree Requirements, GSH: Residence Credit). This is achieved by the completion of 9 or more hours of course work in each of two semesters or by part time registration over a larger number of semesters. Transferred credit will not be included in the residence credit calculation.
Time Limit. All degree requirements must be completed within five calendar years from the date of the student’s first registration in the Graduate School, whether in COMP or in another graduate program (GSH: Master’s Degree Requirements). As much as two years of time spent in active military service, the Peace Corps, or VISTA will not be counted, provided that the department and the Graduate School approve. Also, the 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. Full-time master’s students who are funded by the department normally do not receive funding beyond their fourth semester.
If degree requirements change during a student’s stay in the department, he or she has the option of continuing under the old rules or switching and satisfying all the new rules.
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.
The student must apply by the deadline to the Graduate School for award of the degree (GSH: Graduation).
Master’s 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 M.S. degree. The forms referenced can be obtained online or from the Student Services Manager ([email protected]).
By the end of semester 2
- Complete 18 credit hours.
- Optionally, submit Proposed Program of Study (Form CS-03) and Background Preparation (Form CS-01) indicating how each of the M.S. requirements has been or will be met.
Any semester, but no later than the submission due date for dissertations on the Registrar’s Calendar.
- Satisfy the program product requirement (Form CS-13).
- Satisfy the writing requirement (CS-08 or CS-04). We suggest that you complete this during the third semester unless you plan to write an MS thesis. If using CS-04, make sure to also prepare an extended version of the paper, to satisfy the “comprehensive” requirement.
By the end of semester 4
- Complete coursework (at least 30 hours in approved Program of Study).
- In your last semester, register for either COMP 992 or COMP 993.
- Take the oral comprehensive examination (Graduate School form) or write a comprehensive paper.
- Submit Application for Admission to Candidacy and Degree Card (the deadline for these forms is about one month after the beginning of the semester).