Declaring a Major or Minor

Computer Science is essential to understanding the modern world, and among the most intellectually rewarding and personally empowering subjects one can study. CS pervades almost every field of inquiry today. The Department of Computer Science is experiencing tremendous student interest in our courses and degree programs. Our goal is to accommodate as many students as possible. However, because of this rapid growth the Department has had to institute enrollment caps for the computing majors (BSCS, BSCpE, and BACS) and the minor. Nevertheless, we are committed to enabling as many students as possible to major/minor, and are exploring innovative ways to support this.

  • Declaring a BACS major

    Declaring the BACS Major

    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.

    Applying for the BACS Major: Applications to apply to the BACS major will be available after the start of the spring semester each year, via an online application form and Collab site. Instructions will be posted in the main CS Office (Rice Hall 527), and on this web page - please check here again in mid-January for the current application information and links.

    Completion of the online application form and submission of your transcript in Collab must be done by the 9:00 AM on the deadline day (typically in mid-February). No exceptions. The Deadline will be posted in the Computer Science Department office and on this web page by mid-January each year. We generally make decisions by the end of March, and will email all applicants to give an update on the status of decisions in mid-March.

    Requirements to Declare the Major: In order to apply for the major, students must have taken one introductory computer science course (either CS 1110, CS 1111, CS 1112, CS1113, CS111X) with a grade of C+ or better, and must be enrolled in CS 2110 (or must have already completed CS 2110 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.  

    Application Information: Applications must be completed in the spring semester (normally the student's fourth semester). Due to prerequisite dependencies, it is difficult for rising third-year students who have not completed CS 2110 to complete the major in the 4 remaining semesters.

    All applicants will be notified of admission decisions by the first week of April.

    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 prerequisites (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 rising 3rd-year students who have not completed CS 2110 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.

    Questions? Send email to cs-admissions@virginia.edu with a subject line "BACS application question".

  • Declaring a BS major in CS

    Declaring the BS Major

    First-year students: All first-year Engineering students choose their major in the Spring semester of their first year. At that time, students seeking either the BSCpE or BSCS major will submit their application information as part of the normal first-year SEAS major declaration process, which the SEAS Dean's office manages. All applicants will be notified of admission decisions by early summer. . 

    Engineering Students Changing Majors or Seeking a Second Major: It is strongly suggested for students to be enrolled in (or to have already completed) CS 2150, prior to applying to the BSCS major; applications from students who are currently enrolled in CS 2150 may not be processed until after the CS 2150 grade is posted in SIS. In order to apply for the BSCS major, you must turn in the appropriate form below, along with a copy of your unofficial transcript from SIS, by the application deadlines: October 15 and February 15 each year.​

    The completed form and transcript can be turned in to the main CS desk (Rice Hall 527). The Program director will generally review these requests after each deadline.

    At this time, SEAS students are not eligible to apply for the BACS (i.e., the College degree) as a second major. 


    Intra-University Transfer Students: SEAS accepts transfer applications for non-SEAS UVa students, currently once a year. Qualified applicants who want to transfer into SEAS to become BSCpE or BSCS majors will be considered on a space-available basis given our target caps for each class year. Such students should follow the SEAS application process, and must contact the Computer Science (CS) department contact person listed in the SEAS webpage before applying. Contact Lisa Lampe and Jim Cohoon for more information. 

    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 BSCS or BSCpE 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 department 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 BSCS 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.

  • Declaring a Minor in CS

    Declaring a 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.

    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. At this time the university is only able to accept SEAS students as declared CS minors. 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).

    Requirements to Declare the Minor: In order to apply for the minor, students must have already completed (or be currently enrolled in) CS 2150. Students wishing to declare the minor normally apply in the spring of their first or second year. Applications from third and fourth year students will be considered only if there are still available spaces that were not taken earlier. The normal deadline is March 1. Applicants who have already completed CS 2150 will be notified if they have been accepted as a CS minor by April 1. Applicants who are currently enrolled in CS 2150 will be notified if they have been accepted as a CS minor by June 1. Students apply to the Computer Science minor by completing the Additional Major - Minor (Minor Declaration) Form and attaching and unofficial transcript from SIS. 

    The completed form and transcript can be turned in to the main CS Office (Rice Hall 527) by the deadline.

    BS in Computer Engineering majors: When the CpE program was created, it was decided by the two departments that CpE students could not declare the minor in CS. Because the CpE combines CS and EE, graduates with this degree will automatically have the equivalent of the minor in CS. 

  • Undergraduate Record

    Undergraduate Record

    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 at:

    Undergraduate Record: www.virginia.edu/registrar/catalog/ugrad.html 
    Graduate Record: www.virginia.edu/registrar/catalog/grad.html