Dec 20, 2025  
Undergraduate Record 2025-2026 
    
Undergraduate Record 2025-2026

Computer Science B.S.


Return to: School of Engineering and Applied Science: Degree Programs  


Computer science touches every aspect of our lives, from communications devices to the latest medical technology. Our collaborations have led to breakthroughs in cyber-physical systems, cybersecurity, machine learning, and high-performance computing. We apply these discoveries to critical societal challenges in healthcare, neuroscience, and sustainability.

The department offers a Bachelor of Science in Computer Science, a Bachelor of Arts in Computer Science (in collaboration with UVA’s College of Arts & Sciences), and a Bachelor of Science in Computer Engineering (in collaboration with the UVA Charles L. Brown Department of Electrical and Computer Engineering). The department also offers a Computer Science Minor for Undergraduates.

Program Objectives


Graduates of the Bachelor of Science in Computer Science program:

  • Have the knowledge and skills that allow them to make tangible contributions in their profession.
  • Have the knowledge and skills that allow them meet new technical challenges.
  • Are able to contribute effectively to society.
  • Are able to work effectively as team leaders and members.
  • Have the ability to be innovators in the design, analysis and application of computer systems.

Accreditation


The Bachelor of Science degree in Computer Science is accredited by the Computing Accreditation Commission of ABET - https://www.abet.org.

GPA Requirement


BSCS majors must have a 2.0 GPA average for CS courses in order to graduate.  For courses that must be repeated due to a failing grade or not obtaining the needed grade as a prerequisite for a later course, all grades (including the original grade) count toward the CS GPA.

BSCS Degree Requirements


 

School of Engineering and Applied Science General Requirements


BSCS students must complete the unified set of general requirements for all engineering majors.  More information can be found on the SEAS Academic Rules page.  These courses are often completed during the first two years in SEAS, with the exception of STS 4500 and 4600, which are taken during the fall and spring of the fourth year, respectively.

Introduction to Programming


All SEAS students (including CS majors) must complete one Introduction to Programming course as a part of their general SEAS requirements.  Students may also complete this requirement through Advanced Placement (AP), International Baccalaureate (IB), or dual-enrollment credit.  Some students with programming experience may wish to take the place-out test, which satisfies the requirement but does not award degree credit.  Please contact the department for more information about place-out tests.

Choose one of the following:

Foundation Courses


These courses are the next set of courses students take after finishing Introduction to Programming and comprise the set of prerequisites for upper-level courses.  The 2000-level courses should be taken before the 3000-level courses and note that there are other prerequisites that govern the order that these courses should be taken.  Example schedules can be found on the Computer Science Department webpage.  Students who transfer approved three-credit courses to UVA in place of CS 2100, CS 2130, or CS 3130 must replace the missing fourth credit with another 2000-level or higher CS credit.

Upper-Level Required Courses


BSCS majors must take one upper-level course in software engineering and one CS Capstone course to complete the SEAS senior thesis.

  • Credits: 3

  • CS Capstone

    The CS Capstone is comprised of a three-credit course and the creation of a technical report appropriate for publication.  The capstone experience should be taken concurrently with the SEAS Senior Thesis STS courses (STS 4500 and STS 4600) during the student’s last year at UVA.

    The options for the CS Capstone are:

  • Credits: 1 to 3
  • (Note: Three total credits of CS 4980 must be completed if a student chooses this option, but the credits can be divided between multiple semesters if desired.)

  • Credits: 3
  • Credits: 0 AND a three-credit, graded CS 4000 course not used to fulfill any other CS degree requirement.

Computer Science Electives


BSCS majors must take an additional fifteen (15) credits of CS courses at the 3000 level or higher beyond the Foundation courses.

Guidelines for CS Electives:

  • Must have a CS mnemonic. (NOTE: Students that are interested in taking a course that is cross-listed with a CS section must enroll in the CS section and not the other department’s section as there may be different prerequisites and assessments for the course.)
  • Must be 3000 level or higher.
  • Must not be a Foundation course or upper-level required course as defined above.
  • Second digit of course number must not be 0 or 9, except as noted below.
  • Two electives with significant overlap of material cannot both count toward the CS degree.
  • Up to three (3) credits of CS 4993: Independent Study may count toward the CS elective requirement.  Credits beyond this limit may be applied to the unrestricted elective requirement.

Applied Mathematics Electives


BSCS majors must take three (3) additional courses in Applied Mathematics beyond the SEAS General Requirements.  Equivalent courses from the Department of Mathematics may be substituted for matching APMA courses.

Math and Science Elective


Students must complete a Math and Science Elective chosen from the following list: BIOL 2100, BIOL 2200, CE 2001, CHEM 1420, EVSC 2800, EVSC 3200, EVSC 3300, MSE 2090, PHYS 2620, or an approved 2000-level or higher APMA course not already required by a student’s major and does not duplicate material from another APMA course. See the SEAS page regarding electives for more information.

Humanities and Social Science (HSS) Electives


BSCS majors must complete a total of fifteen (15) credits of HSS electives, which includes the nine (9) credits of HSS courses required by the general SEAS requirements.  HSS electives are selected from an approved list (available in A122 Thornton Hall) of humanities and social science offerings. Communication courses in the student’s native or first language, regardless of their level, may not be used to satisfy this requirement.  See the SEAS page regarding electives for more information.

Unrestricted Electives


BSCS majors must complete twelve (12) credits of unrestricted electives.  Unrestricted electives may be chosen from any graded course in the University except mathematics courses below MATH 1310; courses that substantially duplicate any others offered for the degree, including PHYS 2010, PHYS 2020, CS 1010, CS 1020; any introductory programming course; or SCPS courses. See the SEAS page regarding electives for more information.

Additional Information


For more information about the major or the Computer Science department, please see our website at http://www.cs.virginia.edu, email cs-office@virginia.edu, or call the CS office at 434.982.2200.