Virginia Tech®home

Undergraduate Programs

Advisor Leigh Anne Byrd

About the undergraduate program

Students from around the world come to study computer science at Virginia Tech because of the extensive course offerings and cutting-edge research opportunities. From student organizations such as the Association for Women in Computing, CS-Squared and the Association for Computing Machinery to research projects using the latest technology, there are always opportunities and challenges to help today's students become the technology leaders and innovators of tomorrow.

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

Program objectives and student outcomes

Part of the accreditation process is a clear statement of program objectives and desired outcomes for graduates. 

Our graduates go on to succeed in many career and life paths. However, as the Department of Computer Science we focus on enabling graduates to excel in specific ways, identified in our Program Educational Objectives (PEOs). These PEOs describe what graduates of the Virginia Tech Computer Science program are expected to attain within a few years after graduation.

Within a few years of graduation, alumni will have:

  • Demonstrated technical expertise by applying computer science knowledge and practice to solve challenging problems, whether in employment, graduate study, or individual pursuits;
  • Advanced their skills in communication, teamwork, and professional and ethical behavior;
  • Demonstrated leadership in their technical or professional pursuits;
  • Engaged in post-graduate learning through graduate studies, professional improvement opportunities, or self-study;
  • Served society through professional or personal contribution.

These objectives are supported by a curriculum that seeks to have its graduates achieve the following student outcomes upon graduation. Graduates of the program will have an ability 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 computing-based solutions.

Students enrolled and graduated

The table below shows recent trends in the number of computer science majors at Virginia Tech, and in the number of B.S. degrees awarded. Note that incoming students typically declare the CS major after their first year of study at Virginia Tech.

  11-12 12-13 13-14 14-15 15-16 16-17 17-18 18-19 19-20 20-21
CS Majors Enrolled 402 404 523 580 647 729 808 875 982 1215
BS Degrees Awarded 117 128 157 178 213 200 247 304 311  

Bachelor of Science in Computer Science

The Department of Computer Science awards a Bachelor of Science Degree in Computer Science to over 300 graduates each year. Students can choose among three majors: Computer Science, Secure Computing, or Data-Centric Computing.

The Computer Science Major provides a comprehensive foundation preparing students for a wide variety of computing careers. The list of courses required for the major and a suggested timetable are provided in the major checksheet:

The Secure Computing Major provides a more specialized path for those who are especially interested in secure computing and cybersecurity topics. The list of courses required for the major and a suggested timetable are provided in the major checksheet:

The Data-Centric Computing Major provides a more specialized path for those who are especially interested in data science, analytics, and computational problems involving large volumes of data. The list of courses required for the major and a suggested timetable are provided in the major checksheet:

Minor in Computer Science

The Department of Computer Science also provides a Minor in Computer Science for students who are pursuing other majors but wish to add a supplemental focus on computer science. The minor consists of 21 credits spread over 7 courses:

Minor in Human-Computer Interaction

The Department of Computer Science also offers a Minor in Human-Computer Interaction. This minor is intended for both current CS majors and for students who are pursuing other majors but wish to add a supplemental focus on HCI. The minor consists of 18 credits spread over 6 courses:

Minor in Cybersecurity

Virginia Tech's College of Engineering offers an undergraduate Minor in Cybersecurity that includes courses from the Department of Computer Science and the Bradley Department of Electrical and Computer Engineering. Cybersecurity broadly covers the fields of information security, network security, and computer system security. As bad actors seek to steal information, protecting that information, the systems that process and store it, and the networks that carry it becomes increasingly important.

This minor seeks to provide a core technical basis for careers in secure system design and operation. Students graduating with a degree in computer science or computer engineering with a minor in cybersecurity could expect careers in software engineering, embedded systems engineering, or information systems management, with an emphasis on designing, developing, operating, or analyzing security features or subsystems.

Minors for CS majors

The following minors are popular choices for CS majors:

Interested in another minor? See the complete list of minors offered at VT.

Optional Tracks of Study

Computer science is an incredibly diverse and dynamic field and there are many career paths that computer science graduates pursue.  Even as students, computer science majors may choose from a wide range of junior and senior-level electives.  In order to advise students as they navigate all these choices, the Computer Science Department offers advisory tracks.  Each track identifies a set of elective courses organized around a particular theme or sub-topic in computer science.  Completing a track is not a requirement for graduation, but it allows a student to focus their undergraduate studies in an area of particular interest or prepares them for a particular career or graduate school option. Our current tracks provide broad coverage of computer science topics and reflect the particular strengths and interests of Virginia Tech's computer science faculty.