Computer Science Major, B.S.

The bachelor of science with a major in computer science is the preferred degree both for graduate study in computer science and for technical careers in software development, computational science, networking, information systems, and electronic commerce. Graduates of the program are well-suited for professional employment in traditional computer and communications industries, as well as in such diverse industries as financial services and consulting practices in which computing and information management are central to the operation of the enterprise. Students who desire a more in-depth knowledge of computing have the option of receiving a bachelor’s degree and a master’s degree in as few as five years.

Admission to the Major

The demand for concentrating in a computer science program has grown significantly at UNC–Chapel Hill over the past decade. In order to maintain the quality of educational experiences Carolina students studying computer science deserve, we must restrict the number of students majoring in computer science relative to our faculty size’s ability to sustain the programs. 

Those wishing to concentrate in computer science must be admitted to a major program (B.A. or B.S.). Students are eligible to apply in the spring semester after completing or while currently enrolled in COMP 210. Students who are admitted to the program continue through the introductory course sequence with COMP 301 and COMP 211 and will have access to upper-division electives to complete their degree programs. Please see the department's website for the most up-to-date information about the admission to the major process.

Student Learning Outcomes

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

  • Understand major concepts, theoretical perspectives, empirical findings, and historical trends in the core of computer science
  • Gain technical employment in computing or related fields, or gain admission to high-quality graduate programs, either in computing or related professions
  • Use critical and creative thinking skills in their approach to analyzing and solving computational problems
  • Apply their knowledge, research skills, and critical thinking in the completion of a significant research project

Requirements 

In addition to the program requirements, students must

  • earn a minimum final cumulative GPA of 2.000
  • complete a minimum of 45 academic credit hours earned from UNC–Chapel Hill courses
  • take at least half of their major core requirements (courses and credit hours) at UNC–Chapel Hill
  • earn a minimum cumulative GPA of 2.000 in the major core requirements. Some programs may require higher standards for major or specific courses.

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 283IDEAs in Action General Education logo Discrete Structures 1, H3
or MATH 381 Discrete Mathematics
COMP 455Models of Languages and Computation3
COMP 550IDEAs in Action General Education logo Algorithms and Analysis3
Five additional three-or-more credit hour COMP courses numbered 420 or higher (excluding COMP 496, COMP 690, and COMP 692H). 215
Additional Requirements
MATH 231IDEAs in Action General Education logo Calculus of Functions of One Variable I 1, H, F4
MATH 232IDEAs in Action General Education logo Calculus of Functions of One Variable II 1, H, F4
MATH 233IDEAs in Action General Education logo Calculus of Functions of Several Variables 1, H, F4
MATH 347Linear Algebra for Applications3
or MATH 577 Linear Algebra
STOR 435Introduction to Probability3
or STOR 535 Probability for Data Science
or BIOS 650 Basic Elements of Probability and Statistical Inference I
Two science courses chosen from: 18
IDEAs in Action General Education logo Understanding the Universe
and IDEAs in Action General Education logo Astronomy with Skynet: Our Place in Space
IDEAs in Action General Education logo Introduction to Astronomy: The Solar System
and IDEAs in Action General Education logo Astronomy with Skynet: Our Place in Space H
IDEAs in Action General Education logo Introduction to Astronomy: Stars, Galaxies & Cosmology
and IDEAs in Action General Education logo Astronomy with Skynet: Our Place in Space H
IDEAs in Action General Education logo Alien Life in the Universe
and IDEAs in Action General Education logo Astronomy with Skynet: Our Place in Space
IDEAs in Action General Education logo Principles of Biology
and IDEAs in Action General Education logo Introductory Biology Laboratory H, F
IDEAs in Action General Education logo Molecular Biology and Genetics H, F
Cellular and Developmental Biology H
IDEAs in Action General Education logo Molecular Genetics H
Cell Biology H
IDEAs in Action General Education logo General Descriptive Chemistry I
and IDEAs in Action General Education logo Quantitative Chemistry Laboratory I H, F
IDEAs in Action General Education logo General Descriptive Chemistry II
and Quantitative Chemistry Laboratory II H, F
IDEAs in Action General Education logo Planet Earth
and IDEAs in Action General Education logo Planet Earth Laboratory F
IDEAs in Action General Education logo General Physics I: For Students of the Life Sciences F
IDEAs in Action General Education logo General Physics II: For Students of the Life Sciences F
IDEAs in Action General Education logo Introductory Calculus-based Mechanics and Relativity H, F
IDEAs in Action General Education logo Introductory Calculus-based Electromagnetism and Quanta H, F
Electronics I
Electronics II
B.S. majors in computer science must fulfill all IDEAs in Action General Education requirements.
Total Hours62
H

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

F

FY-Launch class sections may be available. A FY-Launch section fulfills the same requirements as a standard section of that course, but also fulfills the FY-SEMINAR/FY-LAUNCH First-Year Foundations requirement. Students can search for FY-Launch sections in ConnectCarolina using the FY-LAUNCH attribute.

1

A grade of C or better is required in each of COMP 283 (or MATH 381), COMP 210, COMP 211, COMP 301, COMP 311MATH 231, MATH 232, MATH 233, and the two science courses.

2

Graduate level courses (600 or higher) other than COMP 790 may be counted towards this requirement. COMP 790 courses are generally seminar courses that are not appropriate for this requirement and may only be counted with the approval of the director of undergraduate studies.

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 plan of study for B.S. majors.

Plan of Study Grid
First YearHours
First-Year Foundation Courses
IDST 101 IDEAs in Action General Education logo College Thriving 1
ENGL 105
IDEAs in Action General Education logo English Composition and Rhetoric
or IDEAs in Action General Education logo English Composition and Rhetoric (Interdisciplinary)
3
First-Year Seminar or First-Year Launch F 3
Triple-I and Data Literacy 4
Global Language through level 3 varies
Major Courses
COMP 110 IDEAs in Action General Education logo Introduction to Programming and Data Science H 3
COMP 210 Data Structures and Analysis 3
COMP 283 IDEAs in Action General Education logo Discrete Structures H 3
MATH 231 IDEAs in Action General Education logo Calculus of Functions of One Variable I H, F 4
Additional Courses
Additional General Education courses 6
Hours 30
Sophomore Year
COMP 211 Systems Fundamentals 3
COMP 301 Foundations of Programming 3
COMP 311 Computer Organization 3
MATH 232 IDEAs in Action General Education logo Calculus of Functions of One Variable II H, F 4
MATH 233 IDEAs in Action General Education logo Calculus of Functions of Several Variables H, F 4
Two science courses (see requirement course list) 8
Two additional General Education courses 6
Hours 31
Junior Year
COMP 455 Models of Languages and Computation 3
COMP 550 IDEAs in Action General Education logo Algorithms and Analysis 3
MATH 347 Linear Algebra for Applications 3
STOR 435 Introduction to Probability 3
Two courses numbered COMP 420 or greater 6
Two additional General Education courses 6
Electives 6
Hours 30
Senior Year
Three courses numbered COMP 420 or greater 9
General Education and free elective courses 20
Hours 29
Total Hours 120
H

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

F

FY-Launch class sections may be available. A FY-Launch section fulfills the same requirements as a standard section of that course, but also fulfills the FY-SEMINAR/FY-LAUNCH First-Year Foundations requirement. Students can search for FY-Launch sections in ConnectCarolina using the FY-LAUNCH attribute.

Notes on the Suggested Plan of Study

A first formal course in computer programming (such as COMP 110) or equivalent experience is a prerequisite for COMP 210. 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 are encouraged to consult a departmental advisor. Placement exams for COMP 110 and COMP 210 may be available, please consult the department's website.

Students are required to apply for the major in the Spring semester after taking COMP 210. The plan of study reflects applying at the end of the first year and presumes acceptance into the program. Students who take COMP 210 in their sophomore year would apply at the end of their sophomore year. In this case, COMP 211, COMP 301, COMP 550 and all subsequent upper division electives would move to the junior and senior years; and electives and general education courses would come forward.

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

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.

High-Impact Experiences

Courses arranged in advance with a supervising faculty member offer a number of high-impact experiences. These courses include:

  • COMP 227, earning credit for serving as an undergraduate learning assistant;
  • COMP 293, earning credit for appropriate work experience;
  • COMP 495, conducting mentored research with a faculty member;
  • and study abroad while earning credit that counts toward the major (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 website 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 website. 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.

Dual Bachelor’s–Master’s Degree Program

Students in the B.S. degree program with a GPA of 3.2 or better after five or more semesters of study have the option of applying to the dual B.S.–M.S. program at UNC–Chapel Hill 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. Upon completion of the B.S. degree, students then enroll as a graduate student to continue work towards the master of science degree.

The requirements for the master of science degree can be found in the Graduate Catalog. Generally, the master’s degree requires 30 additional hours of computer science coursework. Up to nine credit hours of computer science coursework taken while an undergraduate can be applied to the master’s degree if the coursework is not also used to satisfy the graduation requirements for the bachelor’s degree. The requirements for the master’s can be completed in as few as two additional semesters, for a total of 10 semesters of study.

Students interested in the dual-degree program should have completed (or be on track to complete) seven computer science courses at the 400 level or higher by the end of their sixth semester. Students must formally apply for admission to the combined B.S.–M.S. program, and it is expected that the application process would take place in the student’s sixth semester. Students applying in their sixth semester of study will be notified of the outcome of their application by the end of their sixth semester.

Students interested in the dual-degree program are strongly advised to consult the director of undergraduate studies in the Department of Computer Science in their sophomore year to discuss eligibility and an appropriate plan of study.

Department of Computer Science

Visit Program Website

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

(919) 590-6000

Chair

Samarjit Chakraborty

samarjit@cs.unc.edu

Director of Undergraduate Studies

Ketan Mayer-Patel

kmp@cs.unc.edu

Student Services Manager

Brandon Byrd

bbyrd@cs.unc.edu