Undergraduate Programs

The Department of Computer Science in the University of Virginia offers quality programs that emphasizes basic science, technical mastery, research opportunities and a firm grasp of scientific principles as well as strong communication skills and creative problem solving.

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.

Undergraduate students are not admitted to particular majors at the University of Virginia. Instead, they are admitted to a school at the University, and later declare a major.

The Department of Computer Science resides within the School of Engineering and Applied Science, but offers majors both to students admitted to Engineering and to students admitted to the College of Arts and Sciences. Students who perform adequately in early CS courses are admitted to a CS major upon major application regardless of their school.

Our Programs

  • B.S. in Computer Science

    Discover the requirements for the bachelor of science in computer science.

  • B.A. in Computer Science

    Explore the curriculum and electives for the bachelor of arts in computer science.

  • Computer Science Minor

    See the requirements for a minor in computer science

B.S. in Computer Engineering

The bachelor of science in computer engineering is administered jointly by the computer science and electrical and computer engineering departments. 

Get In Touch

Paul "Will" McBurney

Assistant Professor, Academic General Faculty, Teaching Track, Computer Science
Research interests include: CS Education, Software Engineering, Software Maintenance and Evolution Paul "Will" (call him Will) McBurney has been teaching Computer Science courses for over 9 years at 4 different institutions, University of Virginia, University of Pennsylvania, University of Notre…

Admissions / Tuition 

Learn about the requirements, application process, transfer information, cost, and more at the Engineering School's undergraduate admissions page

Questions regarding admissions should be directed to undergradadmission@virginia.edu

For questions or more information specific to computer science, contact cs-office@virginia.edu.

The information contained on this website is for informational purposes only.  The Undergraduate Record represents the official repository for academic program requirements. This publication may be found here: www.virginia.edu/registrar/catalog/ugrad.html.

The UVA Tuition and Fees page includes the costs per academic year by school. 

undergraduate video cover image

Discover UVA Computer Science

Learn more about our welcoming, supportive culture and outcomes-oriented curriculum.

Two chemical engineering students look at samples in the lab

Undergraduate Research

Undergraduate researchers are mentored by faculty and work closely with the lab’s graduate students and post-doctoral fellows. They are valued lab members, attending lab meetings and participating in journal clubs. They co-author publications, present at national meetings, and fund their own research through competitive awards.


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

The Bachelor of Science in Computer Engineering degree offered jointly by our department and the Department of Electrical and Computer Engineering is accredited by the Engineering Accreditation Commission of ABET, https://www.ABET.org

Each degree program has defined Program Educational Objectives (PEOs), which are broad statements that describe the career and professional accomplishments that the program is preparing graduates to achieve. In addition, each program has defined Student Outcomes (SOs), which are are narrower statements that describe what students are expected to know and be able to do by the time of graduation. These relate to the skills, knowledge, and behaviors that students acquire in their matriculation through the program.

These objectives and outcomes for the BS in Computer Engineering are found on this page.

Those for the BS in Computer Science are documented below.

Graduates of the Bachelor of Science program in Computer Science at the University of Virginia:

  1. have the knowledge and skills that allow them to make tangible contributions in their profession.
  2. have the knowledge and skills that allow them meet new technical challenges.
  3. are able to contribute effectively to society.
  4. are able to work effectively as team members.
  5. have the ability to be innovators in the design, analysis and application of computer systems.


By the time of graduation, students in the BS in Computer Science program at the University of Virginia are able to: 

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.  
  3. Communicate effectively in a variety of professional contexts. 
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. 
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline. 
  6. Apply computer science theory and software development fundamentals to produce computer-based solutions. [Program Specific for Computer Science] [Ref]

The Bachelor of Science in Computer Science (BSCS) enrollment and graduation statistics can be found on the UVA Engineering School's Enrollment & Graduation Statistics page