Degrees and Requirements
This page contains a list of degrees offered by the Department of Computer Science along with links to the requirements for each degree. The university maintains a degree program overview for each department, with degree requirements, suggested program of study, and more as part of the online Undergraduate Bulletin. To ensure the most up-to-date information, we link directly to the online bulletin for degree requirements.
Table of Contents
- Bachelor of Science (B.S.)
- Bachelor of Arts (B.A.)
- Bachelor of Science/Master of Science Combined Program (B.S./M.S.)
- Undergraduate Minor
Useful Links
- COMP 110 and COMP 210 Placement Credit by Examination
- Undergraduate Advising
- Undergraduate Program FAQ
Registration and Tar Heel Tracker Requests
Beginning November 30, 2020, the registration@cs-old.sites.unc.edu and tarheeltrackerrequest@cs-old.sites.unc.edu email address will be disabled and no longer accepting emails. Please complete the following forms instead:
MANUAL REGISTRATION REQUESTS
Note: During registration periods, please allow up to 3 business days for a response.
TAR HEEL TRACKER REQUESTS
Please allow 5 business days for processing. For forms submitted during semester registration and during the first 3 weeks of a new semester, please allow up to 4 weeks for processing.
For additional questions/inquiries/follow-up, please either submit them to the Student Services Manager here or email ugrad_ss@cs-old.sites.unc.edu with your PID in all emails.
Bachelor of Science
NOTE: One instance of COMP 495 or COMP 691H will now count as upper division electives toward the major requirements. This change will be officially instated in Fall 2021 and is being retroactively implemented using Tar Heel Tracker adjustments.
Bachelor of Science Degree Requirements
Special Opportunities in Computer Science
These are the requirements as of the current academic year. The Department of Computer Science allows students to choose any set of requirements that were in effect while the student was in residence at UNC. For prior year requirements, see the archives tab on the university’s catalog site.
Bachelor of Arts
NOTE: One instance of COMP 495 or COMP 691H will now count as upper division electives toward the major requirements. This change will be officially instated in Fall 2021 and is being retroactively implemented using Tar Heel Tracker adjustments.
Bachelor of Arts Degree Requirements
Special Opportunities in Computer Science
These are the requirements as of the current academic year. The Department of Computer Science allows students to choose any set of requirements that were in effect while the student was in residence at UNC. For prior year requirements, see the archives tab on the university’s catalog site.
Courses Outside the Department that are Pre-approved / Pre-denied for the B.A.
Following are lists of courses taught in other departments that have either been pre-approved or pre-denied to count toward the B.A. Other courses may be approved on a case-by-case basis. Students are advised to seek approval before taking a course they intend to count toward the B.A.
Use the form below to request that the undergraduate curriculum committee consider a course not already on one of the lists below. The form asks you to submit supporting material including at the very least a syllabus but more helpfully sample assignments, project descriptions, and/or sample assessments for the committee to consider. Be sure that the course is not already on either the pre-approved or pre-denied list before submitting requests.
Course Consideration Request Form
Courses that have been pre-approved:
- BIOL 525, Computational Analyses and Resources in Genomics
- BIOL 554, Introduction to Computational Neuroscience
- BIOS 512, Data Science Basics
- BIOS 611, Introduction to Data Science
- BIOS 635, Introduction to Machine Learning
- ECON 525, Advanced Financial Economics
- ECON 573, Big Data and Machine Learning in Econometrics
- INLS 318, Human Computer Interaction
- INLS 418, Human Factors In System Design
- INLS 509, Information Retrieval
- INLS 512, Applications of Natural Language Processing
- INLS 523, Database Systems I: Introduction to Databases
- INLS 609, Experimental Information Retrieval
- INLS 613, Text Mining
- INLS 623, Database Systems II: Intermediate Databases
- INLS 672, Web Development 2
- INLS 718, User Interface Design
- LING 401, Language and Computers
- LING 540, Mathematical Linguistics
- MATH 560, Optimization with Applications in Machine Learning
- MATH 566, Introduction to Numerical Analysis
- MATH/ENVR 661, Scientific Computation I
- PHYS 231, Physical Computing
- PHYS 331, Introduction to Numerical Techniques in Physics
- PSYC 559, Applied Machine Learning
- STOR 520, Statistical Computing for Data Science
- STOR 565, Machine Learning
- STOR 566, Introduction to Deep Learning
We will not approve any courses that have one of the above courses as a prerequisite. This does not mean that they may not be appropriate courses, but that we believe that level of concentration in the same area is inappropriate for courses to both be counted toward the B.A.
Courses that will NOT be allowed
- Any Special Topics or Independent Study courses not taught regularly (i.e., 590’s, learning contract-based courses, etc.)
- AAPL 412, Design and Making: Turnign Your Entrepreneurial Ideas Into Reality
- BIOL 500H, Introduction to Biostatistics
- BIOL 528, Quantitative Personalized Genomics
- BIOS 511, Introduction to Statistical Computing and Research Data Management
- BIOS 669, Working with Data in a Public Health Research Setting
- BUSI 410, Business Analytics
- BUSI 520, Advanced Spreadsheet Modeling for Business
- ECON 400, Economic Statistics
- GEOG 370, Introduction to Geographic Information
- GEOG 410, Modeling of Environmental Systems
- INLS 382, Information Systems Analysis and Design
- INLS 500, Human Information Interactions
- INLS 520, Organization of Information
- INLS 560, Programming for Information Professionals
- INLS 570, Fundamentals of Programming Information Applications
- INLS 620, Web Information Organization
- INLS 572, Web Development 1
- MATH 547, Linear Algebra for Applications
- MATH 564, Mathematical Modeling in the Life Sciences
- MEJO 490, Introduction Into Social Media Analytics Using Python
- MEJO 583, Advanced Interactive Development
- MEJO 585. 3D Design Studio
- PLCY 460, Quantitative Methods for Public Policy
- PSYC 534, Introduction to Computational Statistics
- MEJO 586, Intermediate Interactive Multimedia
- STOR 305, Decision Making Using Spreadsheet Models
- STOR 320, Introduction to Data Science
- STOR 455, Statistical Methods I
Bachelor of Science/Master of Science Combined Program
Are you a current B.S. computer science major interested in getting a master’s degree? We have a program that may allow you to complete the courses of study for a B.S. AND M.S. in as few as 5 years!
While there are many people for whom this will be a good match, it will not suit everyone. We expect the program to be especially attractive for students intending to go into industry, who would like the more in-depth knowledge that a master’s program offers. However, there are many other students who will find this attractive, and it is an option you will want to consider.
Students in the B.S. degree program with a GPA of 3.3 or better and within 2 semesters of graduation have the option of applying to the combined B.S./M.S. program to pursue graduate coursework leading to the degree of master of science. Such students must complete the requirements for the bachelor of science degree within eight semesters. (Transfer students who are granted additional time by the university may exceed this number.) Upon completion of the bachelor’s degree, students then enroll as a graduate student to continue work toward the master of science degree. Admission to the master’s portion of the program cannot be deferred. Master’s work must begin the semester following the completion of the bachelor’s degree.
The requirements for both degrees remain the same. The primary benefit of the program is a significantly simplified and expedited admissions process into the master’s program.
Please note that there is a premium tuition associated with the master’s program once a student is reclassified as a graduate student. See here for more information.
We strongly recommend you discuss the option with your CS adviser. The purpose of this page is to give you the basic information that you need to decide whether to apply for the program and how to apply.
Information Session Presentation (PDF)
Frequently Asked Questions
Academic Requirements
- You need a major GPA of 3.3 and an overall GPA of 3.0. The major GPA includes all courses that are required of the major, both prerequisites and courses for the major.
- To give us the ability to assess your work and for you to be comfortable that you want a master’s degree, you should have completed at least FOUR Computer Science courses at the 400-level or higher, including at least two at the 500-level or higher, by the time that you apply. This can include both required and distribution courses for your major, but not independent study courses, i.e., ones that require a learning contract. This is not a strict requirement but students applying with less than this will be at a disadvantage.
Admissions Process
Application to the program will be in your senior year. Applications are accepted both Fall and Spring semester. Fall semester applications are due October 15th. Spring semester applications are due March 15th. We recommend that you do it early to assure that the faculty you identify get their recommendations completed. The application materials are to be submitted through the application site (link below). After clicking on the link, choose “ONYEN login”, then “Start New Applicaton”. At that point you should see an option for “Dual Degree”.
Application to the BS/MS program
Required application materials are:
- Name, PID and contact information
- Names of two CS faculty members who will serve as your primary references. These must be COMPUTER SCIENCE faculty and may not include graduate students. The admissions committee may choose to contact any other faculty member as well. You should discuss your plans with the faculty members that you list BEFORE you submit your application.
- An unofficial copy of your transcript. Saving your course history as a pdf (print and save as pdf from the browser) from Connect Carolina is the simplest and preferred way to do this.
- A personal statement of purpose, maximum one page, that explains your objectives in pursuing the MS degree. The purpose of the statement is to convince us that you have thought about why you want the MS degree. There is nothing specific that we are looking for.
- Resume with work experience, activities, honors, etc.
Course Recommendations
- In order to help you decide whether this program is right for you, we encourage you to take a 600 or higher computer science course during the fall semester of your senior year.
- The graduate school will allow you to carry over up to three courses that do not count toward any of your B.S. requirements (including the 120 credits). The department will accept courses in which you have received a minimum of a B. In order to distribute the workload across the five years, we recommend that you take maximal advantage of this opportunity.
- When planning the courses that you take to satisfy the distribution requirement for your B.S., you should consider the background content expected on incoming graduate students. The information can be found under Background Preparation on the Master of Science Official Degree Requirements page.
Undergraduate Minor
Undergraduate Minor Degree Requirements
These are the requirements as of the current academic year. The Department of Computer Science allows students to choose any set of requirements that were in effect while the student was in residence at UNC. For prior year requirements, see the archives tab on the university’s catalog site.
The minor is generally available to students and does not require an application as the major does. However, availability of the minor is subject to being able to complete the required coursework. In particular, COMP 311 is reserved for majors-only and so unless a student is already a major and seeking to change to the minor, COMP 311 will generally not be available to complete the minor after taking the introductory sequence COMP 210, 211, and 301. However, the minor can be completed by taking two upper division electives. Because majors are prioritized during registration for upper division electives before seats are released to other students, the choice of upper division electives available to minor-seeking students may be limited to those with extra capacity after majors register.