BACS Information
Page Last Updated: Wednesday, November 13, 2024
- Undergraduate Record
- Declaring the Major
- Degree Handouts and Resources
- Degree Requirements
- Distinguished Majors Program
- “Old” BACS Requirements
Undergraduate Record
Official descriptions for the BACS degree program in the Undergraduate Record:
- For those following the 2023-2024 requirements
- For those following the 2022-2023 requirements
- For those listed in SIS with an earlier “requirements term”, go to one of the pages above, then click on “Archived Records” near the bottom of the left-side menu.
Declaring the Major
See the page on Declaring the BACS.
As noted in the Undergraduate Record:
- “Because the goals of the degree are integrated with the study of the liberal arts, students from outside the College of Arts and Sciences who have not taken significant coursework in the College will not be allowed to declare the BA in CS degree as a second major.”
In particular, students in Engineering are not allowed to declare the BA in Computer Science (but are welcome to declare the BSCS as a 2nd major or to complete the CS minor). Students from schools other than Engineering (or the College) who wish to explore if they have taken enough coursework in the College to be allowed to declare the BACS should contact the program director at bacsdirector@virginia.edu.
Degree Handouts and Resources
For information on the “old” BACS degree requirements, see the bottom of this page.
Degree Requirements
The information contained on this website is for informational purposes only. The Undergraduate Record and Graduate Record represent the official repository for academic program requirements. These publications may be found here.
BACS Prerequisites
To declare the degree, you must have completed the following:
- An introductory computer science course, such as CS 1110, CS 1111, CS 1112, CS 1113 or CS 1120, or an equivalent course; or successful completion of the associated place-out test.
- CS 2100 - Data Structures and Algorithms 1 (with C+ or higher) or equivalent or successful completion of the associated place-out test.
BACS Required CS Courses
All BACS majors must complete the following courses (20 credits):
- CS 2120 - Discrete Mathematics and Theory 1 (Credits: 3)
- CS 2130 - Computer Systems and Organization 1 (Credits: 4)
- CS 3100 - Data Structures and Algorithms 2 (Credits: 3)
- CS 3120 - Discrete Mathematics and Theory 2 (Credits: 3)
- CS 3130 - Computer Systems and Organization 2 (Credits: 4)
- CS 3140 - Software Development Essentials (Credits: 3)
Computer Science Electives
All BACS majors must complete 9 credits (normally 3 courses) of CS electives. 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
All BACS majors must complete 12 credits of Integration Electives. 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 can be found in the BACS section of the UG Record.
Our page about Integration Electives describes rules on whether things NOT on the official list can be counted. It also has a link to the petition-request for, and a list of courses that have already been successfully petitioned. If you have questions about anything about integration electives not answered on that page, email the BACS Program Director. Please note the following:
- SIS automatically recognizes the set of integration electives that were defined for your “requirements term” as indicated in SIS.
- A course that’s been added to a more recent version of the list will count for students who have an earlier year’s requirements term. (You will need to submit the form described in the document above.)
- But, a course that’s been removed from an earlier year’s list will not count for a student following a later year’s requirements, unless it was taken before we made the change.
Distinguished Majors Program
Prof. David Evans manages the BACS Distinguished Majors Program (DMP), and details about that program can be found at https://csdmp.github.io/. Students who apply to and are accepted to be in the Distinguished Majors Program must complete the usual degree requirements as well as a fourth year thesis project. This requires two semesters of CS 4998 - Distinguished BA Majors Research (3 credits each semester) in addition to the usual requirements.
“Old” BACS Requirements
The BACS degree program changed significantly for students who started at UVA in Summer 2022 and later. Some current BA majors are still completing the “old” degree program. Here is some advising info for those students.
- The official degree requirements are in the 2021-22 Undergraduate Record at this link.
- Here’s a check-list of requirements for the “old” degree requirements.
- SIS automatically recognizes the list of integration electives for these students linked to from that page in the UG Record. Here’s a direct link. (Courses on a more recent list can count, but the student must fill out the request form.)
- Current students can declare the major with the “old curriculum” at this time only if they were able to complete CS2150 by the end of Fall 2022 (with a C- or higher) and pass CS3330 no later than Spring 2023.
- If a student is doing the old curriculum for either the BACS or the BSCS and needs to take CS3330 after Spring 2023, see this page about what to do instead.