Feb 02, 2023  
Undergraduate Record 2019-2020 
Undergraduate Record 2019-2020 [ARCHIVED RECORD]

Computer Science (B.A.)

Return to {$returnto_text} Return to: Programs


To be accepted into the major, students must satisfy the following pre-requisites. Coursework used to satisfy these must have a grade of C+ or higher.

  • An introductory computer science course, such as CS 1110, CS 1111, CS 1112, CS 1113 or CS 1120.
  • CS 2110, Software Development Methods, or an equivalent.

Declaring the Major and Application Process

In recent years, there has been a rapid growth in demand for computing classes at UVA and other universities. In the last few years, the department has been able to accept all qualified students who wanted to declare the major. But we do have an application process in case demand were to increase beyond our capacity to serve our majors.

If resources are inadequate to satisfy student interest in a given year, a selective admissions process will be used to evaluate applications to declare the BACS. The primary (but not only) criterion for admission is evidence that a student will be able to complete our computing curriculum in a timely manner. (This includes grades in completed CS coursework.) Secondary criteria reflect the mission, values and goals of both the University as a whole and the Department in particular, including our goal to develop graduates who will become effective contributors, collaborators, innovators, or leaders in the profession and society.

Applications are completed in the spring semester (normally the student’s fourth semester). Students complete an online application that typically is available in January. Information about the process and deadlines is posted on the departmental website and publicized in other ways.

Due to prerequisite dependencies, it is difficult for students who have not completed CS 2110 by the end of their second year to complete the major in their four remaining semesters. Ability to complete the degree in a timely manner is a factor in acceptance into the major.

Second Majors: College of Arts and Sciences students who wish to declare the BACS as a second major must follow the application process described here. Only College of Arts and Sciences students are eligible to apply for the BACS degree as a second major.

Transfer Students from Outside the University: Students transferring into the University from other institutions must apply to the department to be allowed to declare the BACS major. Applications will be considered the summer before a transfer student begins classes, and the application process will be discussed during the summer orientation session. If an incoming transfer does not attend summer orientation, they must meet with a CS advisor before classes begin to discuss applying.

Transfer students who have not completed the degree’s pre-requisites (CS 1110 or equivalent and CS 2110, with grades of C+ or higher) before their first semester in residence cannot be accepted into the major. Due to prerequisite dependencies, it is difficult for third-year students who have not completed CS 2110 or its equivalent to complete the BACS in the four remaining semesters. It is important that students transferring to the University as third-years complete the equivalent of CS 2110 before coming to UVA. In exceptional cases, students in this situation may apply for the major, but the ability to complete the degree in a timely fashion is one factor that will determine if you are accepted into the degree program.

Requirements for the Major

To complete the BA in Computer Science, students must satisfy the pre-requisites, then complete 27 credits of CS coursework as well as 12 credits of related non-CS coursework as described below:


As noted earlier, to be accepted into the major, students must satisfy these pre-requisites. To be accepted into the major, courses used to satisfy these must have a grade of C+ or higher.

Required CS courses (15 credits):

CS elective courses (12 credits):

These are CS courses at the 3000-level or above, in addition to the required courses listed above. At most 3 credits of CS 4993 - Independent Study  can be counted towards this requirement. CS 4980  and CS 4998  cannot be counted towards this requirement.

Integration Electives (12 credits):

These are non-CS courses that contribute to this program of study by exploring applications of computing to arts and sciences fields in a significant way or by providing fundamental computing depth and background. Integration electives are courses offered by departments in the College of Liberal Arts and Sciences. The list of approved courses is available here .

Distinguished Majors Program

Distinguished majors complete the B.A. degree requirements in addition to a fourth year thesis project that is approved by two advisors, typically one from Computer Science and one from Arts and Sciences.  Both advisors must approve the student’s plan of study, thesis proposal, and thesis report. For more information regarding the Distinguished Major Program, please visit https://engineering.virginia.edu/departments/computer-science/academics/computer-science-undergraduate-programs/ba-computer-science#accordion67814.

Requirements for the Minor

Any student who is able to complete all of the requirements for the CS minor before graduation will be awarded the CS minor if they submit the minor request form at the beginning of their graduation semester. Only a small number of students are allowed to declare the minor before this, i.e. earlier than their final semester at the university. Currently the department can only allow a limited number of SEAS students to declare the CS minor before their final semester, due to a very high demand for upper-level computing courses. But students in the College or other schools who complete the required courses, in or before their final semester, can declare the CS minor at the start of their final semester.

Required CS courses (6 courses):

Additional Information

For more information, contact Tina Hittinger, Assistant Manager for Student Services & Administration, Department of Computer Science, 85 Engineer’s Way, P.O. Box 400740, Charlottesville, Virginia 22904-4740; Phone: 434-924-9392, Fax: 434-982-2214; t-rex@virginia.edu.

Course Descriptions

Descriptions of Computer Science courses appear in the School of Engineering and Applied Science section.

Return to {$returnto_text} Return to: Programs