Computer Science Major, B.A.

Department of Computer Science

Visit Program Website

Brooks Computer Science Building, 201 S. Columbia Street, CB# 3175

(919) 590-6000

Kevin Jeffay, Chair

Ketan Mayer-Patel, Director of Undergraduate Studies

Denise Kenney, Student Services Manager

The bachelor of arts degree with a major in computer science will prepare students for a career in either a traditional computing field or a field in which computing is a significant enabling technology. The B.A. degree is the preferred degree for those who wish more flexibility in their program of study.

Department Programs



Graduate Programs

Student Learning Outcomes

Upon completion of the computer science program (B.A.), students should be able to:

  • Understand major concepts, theoretical perspectives, empirical findings, and historical trends in the core of computer science
  • Gain employment in highly competitive industries and companies and be successful in those positions
  • Use critical and creative thinking skills in their approach to analyzing and solving computational problems
  • Apply their knowledge in the completion of a significant real-world experience


In addition to the program requirements, students must

  • attain a final cumulative GPA of at least 2.0
  • complete a minimum of 45 academic credit hours earned from UNC–Chapel Hill courses
  • take at least half of their major course requirements (courses and credit hours) at UNC–Chapel Hill
  • earn a minimum of 18 hours of C or better in the major core requirements (some majors require 21 hours).

For more information, please consult the degree requirements section of the catalog.

Core Requirements
COMP 210Data Structures and Analysis 13
COMP 211Systems Fundamentals 13
COMP 301Foundations of Programming 13
COMP 311Computer Organization 13
COMP 283Discrete Structures 1, H3
or MATH 381 Discrete Mathematics
Two additional COMP elective courses numbered 420 or higher (at least three credits each) 26
Four additional elective courses chosen from the following, with no more than two courses from other departments:12
COMP courses numbered 420 - 599 (excluding courses for honors thesis, internships, and independent study)
Graduate level courses (600 or higher) other than COMP 790 3
Analysis and Interpretation of Sequence-Based Functional Genomics Experiments
Human Computer Interaction
Experimental Information Retrieval
Text Mining
Mathematical Linguistics
Introduction to Numerical Analysis
Scientific Computation I
Physical Computing
Numerical Techniques for the Sciences I
Other courses must be approved by the director of undergraduate studies and must have a significant computer or computing technology component.
Additional Requirements
MATH 231Calculus of Functions of One Variable I (A grade of C or better is required) 1, H4
STOR 155Introduction to Data Models and Inference 43-4
or STOR 435 Introduction to Probability
or PSYC 210 Statistical Principles of Psychological Research
B.A. majors in computer science must fulfill all Foundations, Approaches, Connections, and Supplemental General Education requirements.
Total Hours40-41

Honors version available. An honors course fulfills the same requirements as the nonhonors version of that course. Enrollment and GPA restrictions may apply.

Computer science (COMP) course descriptions.

Sample Plan of Study

Sample plans can be used as a guide to identify the courses required to complete the major and other requirements needed for degree completion within the expected eight semesters. The actual degree plan may differ depending on the course of study selected (second major, minor, etc.). Students should meet with their academic advisor to create a degree plan that is specific and unique to their interests. The sample plans represented in this catalog are intended for first-year students entering UNC–Chapel Hill in the fall term. Some courses may not be offered every term.

The following is a suggested four-year plan of study for B.A. majors.

Plan of Study Grid
First YearHours
ENGL 105 English Composition and Rhetoric 3
Foreign language level 2 and 3 (Foundations) 6
Lifetime fitness 1
One of the following: 3
First-year seminar
Introduction to Programming (if needed) H  
MATH 231 Calculus of Functions of One Variable I (quantitative reasoning Foundations course) H 4
Additional General Education and elective courses 13
Hours 30
Sophomore Year
An appropriate physical and life sciences Approaches course 4
COMP 283 Discrete Structures H 3
COMP 210 Data Structures and Analysis 3
COMP 211 Systems Fundamentals 3
COMP 301 Foundations of Programming 3
Four additional Approaches and Connections courses 12
Free elective 3
Hours 31
Junior Year
COMP 311 Computer Organization 3
STOR 155
Introduction to Data Models and Inference
or Introduction to Probability
or Statistical Principles of Psychological Research
Three COMP courses numbered 420 or higher 9
Three additional Approaches and Connections courses 9
Two supplemental General Education courses 6
Hours 30-31
Senior Year
Three COMP courses numbered 420 or higher 9
One Supplemental General Education course 3
Connections and free elective courses 17
Hours 29
Total Hours 120-121

Honors version available. An honors course fulfills the same requirements as the nonhonors version of that course. Enrollment and GPA restrictions may apply.

The following is a suggested plan of study for students initiating coursework for the B.A. major in their junior years. This is an accelerated plan appropriate for students who have already completed most if not all of their general education requirements, COMP 110, and MATH 231. Students without prior programming experience are highly encouraged to complete COMP 110 prior to starting the program.

Plan of Study Grid
Junior YearHours
COMP 210 Data Structures and Analysis 3.0
COMP 211 Systems Fundamentals 3.0
COMP 301 Foundations of Programming 3.0
COMP 311 Computer Organization 3.0
COMP 283 Discrete Structures H 3
STOR 155
Introduction to Data Models and Inference
or Introduction to Probability
or Statistical Principles of Psychological Research
Supplemental General Education 9
Elective 3
Hours 30-31
Senior Year
Six COMP courses numbered 420 or higher 18
Connections and free elective courses 12
Hours 30
Total Hours 60-61

Honors version available. An honors course fulfills the same requirements as the nonhonors version of that course. Enrollment and GPA restrictions may apply.

Notes on the Suggested Plan of Study

A first formal course in computer programming (such as COMP 110) is a prerequisite for COMP 210 and COMP 211. Students with no programming experience should begin their program of study with COMP 110. Students who are unsure if their background preparation enables them to begin their studies with COMP 210 and COMP 211 are encouraged to consult a departmental advisor.

Students who are able to begin with COMP 210 and COMP 211 may take it in their first semester and either advance the suggested program of study by one semester (giving themselves an extra free elective in their junior/senior years) or take another appropriate course such as a first-year seminar. In either case, neither COMP 110 nor a first-year seminar is a required course in the major.

This plan of study further assumes that students will place out of foreign language 1. If this is not the case, then the student should start with foreign language 1 (and have one fewer free elective in the senior year).

Special Opportunities in Computer Science

Honors in Computer Science

Students are eligible for graduation with honors if they complete the following requirements:

  • A cumulative grade point average of 3.3 or better
  • A grade point average of 3.3 or better from among the set of COMP, MATH, PHYS, and STOR courses taken to fulfill the graduation requirements for the major
  • Graduation with honors requires the completion of two semesters of research (COMP 691H and COMP 692H). As part of COMP 692H, students must submit a written honors thesis and complete an oral public presentation of the thesis. Graduation with highest honors in computer science is possible for those students whose honors project and thesis are judged by a faculty committee to be particularly distinguished.

Students interested in pursuing honors in computer science are encouraged to contact the director of undergraduate studies.

Experiential Education

When arranged in advance with a supervising faculty member, COMP 293 can be used to earn credit for appropriate work experience. COMP 293 satisfies the experiential education requirement. COMP 393COMP 495 and COMP 691H can also be used to satisfy the experiential education requirement. Another possibility is through study abroad (see below).

Assistantships and Internships

In addition to their classroom experiences, undergraduates may enhance their learning experience as research assistants or learning assistants. Students also can participate in nationally recognized research programs or use the department's facilities to pursue self-directed research with a faculty member.

Work-study students can gain valuable work experience as assistants on the department’s computer services staff or on development or research activities with faculty. The department also encourages students to pursue internship experiences. Carolina’s proximity to Research Triangle Park means that computer science majors have many internship and postgraduation opportunities available in their own backyard.

Study Abroad

Study abroad opportunities with priority for computer science students are offered through a number of international institutions including the National University of Singapore (NUS) School of Computing, Lancaster University, Trinity University–Dublin, University of New South Wales, and Seoul National University. Study abroad at NUS is eligible for the Phillips Ambassadors Scholarship. Please see the Phillips Ambassadors Web site for more information. Availability of these programs may vary and additional programs may be available. Application for study abroad is through the University’s Study Abroad Office. 

Study abroad satisfies the experiential education General Education requirement of the undergraduate curriculum. Up to two computer science courses taken at these institutions may be counted toward the major as computer science electives beyond the introductory sequence. Specific course equivalencies for some programs are posted on the department’s Web site. Students interested in taking a course not listed should contact the director of undergraduate studies before registering for courses at the school. 

Undergraduate Awards

The department awards two yearly prizes to computer science majors. In conjunction with SAS Institute, the department annually presents the Charles H. Dunham Scholarship. The Dunham scholarship includes a scholarship and a summer internship at SAS and is awarded in the fall semester to a student in their junior year. The department also annually presents the Stephen F. Weiss Award for Outstanding Achievement in Computer Science, which includes a cash prize. The Weiss award is presented to a student in the spring of their senior year.