Bachelor of Arts in Computer Science Degree Requirements
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.
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.
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.
Courses that have been pre-approved:
- BIOL 525, Computational Analyses and Resources in Genomics
- BIOS 512, Data Science Basics
- ECON 525: Advanced Financial Economics
- INLS 318, Human Computer Interaction
- INLS 418, Human Factors In System Design
- INLS 509, Information Retrieval
- INLS 512, Applications of Natural Language Processing
- INLS 609, Experimental Information Retrieval
- INLS 613, Text Mining
- LING 540, Mathematical Linguistics
- MATH 566, Introduction to Numerical Analysis
- MATH/ENVR 661, Scientific Computation I
- PHYS 231, Physical Computing
- PHYS 331, Introduction to Numerical Techniques in Physics
- STOR 565, Machine 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
- BIOL 500H, Introduction to Biostatistics
- BIOL 528, Quantiative Personalized Genomics
- BIOS 511, Introduction to Statistical Computing and Research Data Management
- BIOS 669, Working with Data in a Public Health Research Setting
- 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 523, Database Systems I: Introduction to Databases
- INLS 560, Programming for Information Professionals
- INLS 620, Web Information Organization
- INLS 672, Web Development 2
- LING 401, Languages and Computers
- 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
- MEJO 586, Intermediate Interactive Multimedia
- STOR 305, Decision Making Using Spreadsheet Models
- STOR 455, Statistical Methods I