B.A. in Computer Science
Program Overview
B.A. in Computer Science
The Department of Computer Science offers both a Bachelor of Science degree through the School of Engineering and Applied Science and a Bachelor of Arts degree through the College of Arts and Sciences.
Engineering General Curriculum Requirements
All students must complete the unified set of general requirements for all engineering majors. These courses are often completed during the first two years at UVA Engineering with the exception of STS 4500 and 4600, which are taken during the fall and spring of the fourth year, respectively.
- APMA 1090 - Single Variable Calculus I (Credits: 3)
- APMA 1110 - Single Variable Calculus II (Credits: 4)
- APMA 2120 - Multivariable Calculus III (Credits: 4)
- CHEM 1410/1411 - Introductory Chemistry I & Lab (Credits: 4)
- CS 1110/1111/1112/1113 - Introduction to Programming (Credits: 3)
- ENGR 1010 - Engineering Foundations 1 (Credits: 4)
- ENGR 1020 - Engineering Foundations 2 (Credits: 3)
- PHYS 1425/1429 - Introductory Physics I & Lab (Credits: 4)
- PHYS 2415/2419 - Introductory Physics II & Lab (Credits: 4) – OR – ECE 2200 - Applied Physics
- STS 2600 - Engineering Ethics (Credits: 3)
- STS 4500 - STS and Engineering Practice (Credits: 3)
- STS 4600 - The Engineer, Ethics, and Professional Responsibility (Credits: 3)
- Math and Science Elective (Credits: 3)
- Humanities or Social Science Electives (Credits: 9)
- Unrestricted Electives (Credits vary per major)
Differences: BS vs. BA Degree
The Department of Computer Science offers two Computer Science degrees: the Interdisciplinary Major in Computer Science degree offered through the College of Arts & Sciences (BACS), and the Bachelor of Science in Computer Science degree offered through the School of Engineering and Applied Sciences.
- The BACS degree is in the College of Arts & Sciences; the BSCS is in the School of Engineering and Applied Science.
- The main similarities and differences between the two Computer Science degrees are:
- The BACS degree is in the College of Arts & Sciences; the BSCS is in the School of Engineering and Applied Science.
- With the creation of the new curriculum, students in both degree programs will complete the same CS foundation requirements.
- BSCS students are required to take CS 3240 (Advanced Software Development) and a course counting toward the CS capstone requirement, while BACS students are not.
- Both degrees require additional courses be taken as CS electives.
- The BACS degree requires four integration electives, which are not part of the BSCS degree.
- The BSCS degree (like all Engineering School degrees) requires a fourth-year thesis.
B.A. in Computer Science Curriculum
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: 4)
- 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.
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.
Distinguished Majors Program
Prof. David Evans manages the BACS Distinguished Majors Program (DMP).
- 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.
Artificial Intelligence Focal Path
Our Artificial Intelligence Focal Path is a curated sequence of four courses designed for students who want to take a focused area of study in AI.
Cyber Security Focal Path
The Department of Computer Science is a National Center of Excellence in Cyber Defense (NCAE-CD).
- As part of the NCAE-CD program, students can complete a rigorous focal path in cybersecurity.
- A focal path is a selection of courses that covers the cybersecurity Knowledge Units (KUs) specified by the NCAE program office.
Declaring a BA Major
- The BACS was created for College students who want to combine the study of computer science with coursework that combines computing with other fields of the arts and sciences.
- Engineering students are not eligible to declare the BACS and should instead declare the CS minor or the BSCS as a second major.
- To declare the BACS, you must have completed the prerequisites at the time you submit your major declaration.
- They are: CS1110 or equivalent with a C+ or higher, and CS2110 or CS 2100 or equivalent with a C+ or higher.
