Computer Science

Study mode:On campus Study type:Full-time Languages: English
Foreign:$ 33.9 k / Year(s) Deadline: Dec 13, 2025
56 place StudyQA ranking:9724 Duration:

Photos of university / #uncchapelhill

The Bachelor of Science in Computer Science at the University of North Carolina at Chapel Hill offers students a comprehensive education in the foundational and advanced concepts of computing. Designed to prepare graduates for the rapidly evolving technology industry or advanced academic studies, the program combines rigorous coursework, research opportunities, and practical experience. Students engage with core topics such as programming, algorithms, data structures, and computer architecture, while also exploring specialized areas including artificial intelligence, machine learning, cybersecurity, software engineering, and data science. The curriculum emphasizes both theoretical understanding and real-world application, encouraging students to develop critical thinking, problem-solving skills, and innovative approaches to complex challenges. With access to state-of-the-art laboratories and collaborations with industry partners, students gain hands-on experience through projects, internships, and research initiatives. The program fosters a diverse and inclusive academic environment that promotes teamwork, communication, and ethical considerations in computing. Graduates of the program are well-equipped to pursue careers in software development, data analysis, systems engineering, and research, or to continue their education in graduate schools. The Department of Computer Science at UNC Chapel Hill is committed to producing graduates who are not only technically proficient but also socially responsible, ethically aware, and prepared to contribute meaningfully to society through technology. With a strong network of alumni and industry connections, students benefit from mentorship, networking opportunities, and career support that facilitate successful entry into the competitive tech workforce. Whether students aspire to innovate in emerging fields or to build foundational skills for a variety of sectors, the Computer Science program at UNC Chapel Hill provides a rigorous, engaging, and supportive environment to achieve academic and professional goals.

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), 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. 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.

Breadth requirement. Each student must take one course in each of the following categories to fulfill a breadth requirement.

  • Theory & Formal Thinking
  • Systems & Hardware
  • Applications

The set of breadth courses must meet the following criteria.

  1. At most one course in the set can be at the 500 level. The other courses must be at the 600 level or above.
  2. All 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.

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).

Computer Science

  • COMP 411 Computer Organization
  • COMP 410 Data Structures
  • COMP 550 Algorithms and Analysis
  • Any two of the following
    1. COMP 521 Files and Databases
    2. COMP 520 Compilers
    3. COMP 530 Operating Systems
  • COMP 524 Programming Language Concepts
  • COMP 523 Software Engineering (this requirement may also be satisfied by completing the product quality, large scale programming option below)
  • 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
  • MATH 381 Discrete Mathematics
  • MATH 547 Linear Algebra for Applications
  • MATH 661 Introduction to Numerical Analysis (Scientific Computing I)
  • STAT 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-1) 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 adviser and the Graduate Studies Committee review background preparation.

Up to six semester hours of graduate credit may be transferred from another accredited institution, or from courses taken at UNC-CH before admission to the Graduate School, or for courses taken in a different graduate program at UNC-CH, in partial fulfillment of the 30-hour total credits requirement (GSH: Course Credit).

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. The transfer of courses to meet the distribution requirement will generally require an examination.

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).

Before completing the first 18 hours of courses, the student shall submit to the Graduate Studies Committee their background preparation (on form CS-1, approved by the program adviser), and a proposed plan of study (on form CS-3) 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.

Each student is strongly encouraged to elect at least three hours taught by a department other than COMP, unless the student has an unusually broad background.

COMP 910 is a device called a “module course” that permit a student to take part of a course for part of the credit. Thus a student who is familiar with the content of part of a course, but not the whole course, is not forced to choose between omitting the course and taking all of it. This helps a student with better than minimum preparation to make room for more advanced courses in the student’s area of interest.

The decision to create a module of a course belongs to the instructor of the full course. The student should begin by contacting the instructor to negotiate what the module(s) should cover. The instructor should communicate the decision to the Associate Chairman for Academic Affairs. Creation of a module and registration are performed on a case-by-case basis by the Associate Chairman for Academic Affairs and the Registration Coordinator.

The election of a minor field is optional and infrequent. If a minor is elected, it must include at least 9 hours of courses that are taught by departments other than COMP (and not merely cross-listings of COMP courses). The minor must also meet all the requirements described in GSH: Master’s Degree Requirements.

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.

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 that is expected to be used and 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 project options must be approved by two faculty members.  The student must file Form 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-8.

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 subject is chosen jointly by the student and the thesis adviser. The student selects a guidance committee of at least three members of the Graduate Faculty. The student must submit a brief written thesis proposal to the committee members during the early stages of thesis work.

The thesis must meet normal standards of scholarly writing and prescribed standards of form (GSH: Master’s Degree Requirements and the Graduate School document Guide to Theses and Dissertations).

The student must register for at least three hours, but not more than six hours, of COMP 993: Masters Thesis. Registration for COMP 993 can reduce to 24 the number of hours of non-research courses that the student must take (GSH: Master’s Degree Requirements).

A student who elects to write a thesis must make an oral presentation of the thesis to the guidance committee. Before this presentation can take place, the adviser and at least one other member of the student’s committee must agree that the thesis is in substantially finished form. The student may elect that the presentation be public. In that event the student gives a 50-minute presentation of the thesis, followed by questions from the committee and then from the audience. If the committee wishes, it may continue to question the student in private. If the student elects a private presentation, it will be of such form and duration as are prescribed by the committee. Public presentations are encouraged as a means of keeping faculty and students informed of current research and development activities, and to give the student experience in public speaking (GSH: Master’s Degree Requirements).

The thesis presentation is technically a Final Oral examination. The student may elect to combine it with the M.S. Oral Comprehensive examination on course work into a single examination, provided that the scheduling requirements for both have been met. This election is independent of whether to present the thesis publicly.

The student must be registered during the semester(s) in which the M.S. thesis presentation is held. Provided that no use of University faculty time and/or facilities is required, a student need not be registered in the semester in which the degree is to awarded, unless the thesis is defended and submitted to the Graduate School during the same semester (GSH: Registration).

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-4. The relevant documentation should be attached; it will be returned.

Members of the Committee are normally willing to sign a non-disclosure agreement and read proprietary documents in confidence. Approval requires a two-thirds vote of the Graduate Studies Committee.

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, each will be asked to acknowledge that the student did the bulk of the writing.
  • The document has technical content and is approximately 5,000 words long (or longer).
  • 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.

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.

In the Department of Computer Science, the paper submitted to satisfy the Writing Requirement serves as the written form of the M.S. Comprehensive Examination. 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.

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. The Oral M.S. Comprehensive Examination is a topical exam, covering the courses listed in the M.S. program of study.

A student must be registered during the semester in which the M.S. Comprehensive Exam is taken (GSH: Master’s Degree Requirements).

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. For a written examination, the departmental Committee on Examinations will so notify the student.

  • Application fee (non-refundable $85)
  • Transcripts (complete, not selected courses)
    • One unofficial transcript from each university attended must be uploaded within the application. All unofficial transcripts must be uploaded to your application in order for your application to be reviewed. Please do not mail transcripts as part of your admission application; we only accept unofficial uploads for application evaluation. If you are offered admission, one official transcript for each university attended will be required prior to the first day of the term.
  • Current letters of recommendation
    • The email address of three recommenders will be required within the application for electronic submission.
  • Standardized test scores
    • (GRE, GMAT, etc.; no more than 5 years old.)
  • Statement of purpose
  • Resume/CV
  • TOEFL or IELTS score (no more than two years old)
  • Completed financial certificate

In addition to the University’s required application materials, applicants should review the information below for additional expectations or application requirements.

Area of Interest: Select up to four Areas of Interest on your application (via the Areas of Interest/Specialization drop-down box within your application).

Statement of Purpose: Should discuss research and work experience relevant to your proposed plan of study.

The University of North Carolina at Chapel Hill offers a range of financing options for students pursuing a Computer Science degree, including undergraduate and graduate programs. For undergraduate students, the university provides merit-based scholarships, need-based financial aid, and external scholarship opportunities. The Carolina Covenant program allows eligible undergraduates from low-income families to attend tuition-free, which greatly facilitates access to higher education without the burden of tuition costs. Additionally, students can apply for institutional grants and work-study programs that enable them to earn money on campus while studying.

Graduate students in Computer Science can access a variety of funding sources, including teaching assistantships, research assistantships, and fellowships. These positions often provide a stipend and tuition remission, helping to cover costs associated with their studies. The university also encourages students to seek external funding through national fellowship programs, such as those offered by the National Science Foundation (NSF) and other agencies, which can significantly reduce financial burdens.

UNC Chapel Hill's Office of Scholarships and Student Aid assists students in navigating the application processes for available financial resources, offering guidance on federal aid, private loans, and alternative funding options. The university also provides information about loan programs like the Federal Direct Loan Program, which students can utilize to finance their education. Many students supplement their funding through part-time jobs, internships, and cooperative education programs aligned with their field of study, gaining valuable work experience while supporting their education costs.

Overall, the university emphasizes a comprehensive approach to student financing, combining institutional aid, external scholarships, employment opportunities, and federal loan programs to make Computer Science studies accessible to a diverse student body. Financial planning services are available throughout the academic year to help students manage costs effectively and explore new funding opportunities as they arise, aiming to reduce financial barriers and promote equitable access to education.

The University of North Carolina at Chapel Hill offers a Bachelor of Science in Computer Science through its Department of Computer Science, located within the College of Arts and Sciences. The program is designed to provide students with a comprehensive foundation in the principles, practices, and applications of computer science, preparing them for careers in industry, research, or further academic pursuits. The curriculum includes core courses in programming, data structures, algorithms, computer architecture, operating systems, and software engineering, ensuring that students develop strong technical skills. Additionally, students have the opportunity to choose from a variety of electives in areas such as artificial intelligence, machine learning, cybersecurity, data science, human-computer interaction, and theoretical computer science, allowing for specialization according to their interests and career goals.

The program emphasizes both theoretical understanding and practical experience, encouraging students to participate in research projects, internships, and collaborative initiatives with industry partners. The university's strong connections with tech companies and research institutions enable students to gain real-world experience through internships, co-op programs, and research assistantships. The program also promotes interdisciplinary learning, offering courses and projects that integrate computer science with fields like biology, economics, and music, fostering innovative applications of computing technology.

Graduate outcomes for program alumni include employment at leading technology firms, startups, government agencies, and research labs, as well as acceptance into prestigious graduate programs worldwide. The university supports student development through various resources such as dedicated advising, career counseling, and technological facilities. The program aims to cultivate analytical thinking, problem-solving abilities, and ethical responsibility in computing, aligning with the university's mission to serve society through education and research.

Overall, the UNC Chapel Hill Computer Science program prepares graduates to become versatile professionals capable of addressing complex computational challenges and contributing to advancements in technology across diverse sectors. The program is committed to fostering an inclusive environment that encourages diversity, innovation, and lifelong learning among its students.

Similar programs:
Study mode:On campus Languages: English
Local:$ 56.9 k / Year(s) Foreign:$ 56.9 k / Year(s)
Deadline: Dec 15, 2025 13 place StudyQA ranking: 4913
Study mode:On campus Languages: English
Local:$ 51.3 k / Year(s) Foreign:$ 51.3 k / Year(s)
13 place StudyQA ranking: 7610