In order to apply for the major, students must have taken one introductory computer science (either CS 1120, CS 1110, CS 1111, CS 1112, or CS 1113) with a grade of C+ or better, and must be enrolled in CS 2110 and CS 2102 (or must have already completed CS 2110 and CS 2102 with a grade of C+ or better). Students are accepted into the major, in the spring semester of their second year upon review of their applications. This is a selective process that takes into account the applicant’s GPA, as well as other factors.
Applications must be completed in the spring semester (normally the student’s fourth semester). Deadlines are posted on the departmental website. Due to prerequisite dependencies, it is difficult for rising 3rd-year students who have not completed CS 2110 and CS 2102 to complete the major in the 4 remaining semesters. Individuals transferring to UVA as 3rd-year students will be considered in the summer before their arrival.
Students apply to the Computer Science major by completing an online application available on the departmental website, typically in January of each year. All applicants will be notified of admission decisions by April 1.
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. Qualified applicants will be considered on a space-available basis, given our target caps for each class year. 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 without the CS 1110 equivalent before their first semester in residence cannot be accepted into the major. Due to prerequisite dependencies, it is difficult for rising 3rd-year students who have not completed CS 2110 and CS 2102 to complete the BACS in the 4 remaining semesters. It is important that students transferring to the University as third-years complete the equivalent of these courses 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 Major
Computer Science majors must complete five core courses, four computing electives, and four integration electives. The five core courses are CS 2110 (Software Development Methods), CS 2102 (Discrete Mathematics I), CS 2150 (Program and Data Representation), CS 3330 (Computer Architecture), and CS 4102 (Algorithms). Please note: there is a math pre-requisite to CS 4102 (Algorithms): APMA 1090 or MATH 1210 or Math 1310. The four computing electives are computing-intensive courses selected from the set of all Computer Science courses at 3000-level or above (except the core courses). The four integration electives are selected with the approval of the student’s advisor. These courses are offered by departments other than Computer Science, and should either provide fundamental computing depth and background or explore applications of computing to arts and sciences fields. The list of commonly approved integration electives is available from https://engineering.virginia.edu/departments/computer-science/academics/computer-science-undergraduate-programs/ba-computer-science#accordion67813.
Requirements for Minor
The department can only allow a limited number of SEAS students to declare a minor in Computer Science due to a rapidly growing demand for computing courses. The CS department continues to work with the university to obtain resources that will allow more students to declare the Computer Science minor. Students outside of SEAS who are able to complete all of the requirements for the CS minor are able to submit the minor request form in the semester in which they complete the remaining requirement(s).
The Computer Science minor consists of six courses: one of the introductory courses (CS 1110, CS 1111, CS 1112, or CS 1120); CS 2110; CS 2102; CS 2150; and two 3000-level or higher CS electives.
For more information, contact Tina Hittinger, Senior Student Services Coordinator, Department of Computer Science, 85 Engineer’s Way, P.O. Box 400740, Charlottesville, Virginia 22904-4740; Phone: 434-924-9392, Fax: 434-982-2214; firstname.lastname@example.org.
Descriptions of Computer Science courses appear in the School of Engineering and Applied Science section.