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:

  • an ability to apply knowledge of mathematics and science to carry out analysis of computer science problems and design appropriate solutions
  • an ability to use techniques, skills, and modern software development tools necessary for computing practice
  • an ability to identify, formulate, and solve computer science problems
  • an ability to design a computing system to meet desired needs
  • an ability to apply problem-solving strategies to new, unknown, or open-ended situations in computer science
  • knowledge and understanding of the impact of the many sub-disciplines of computer science
  • an ability to function on teams
  • an ability to use written communication skills effectively
  • an ability to use oral communication skills effectively
  • an understanding of professional and ethical responsibility
  • a recognition of the need for and ability to engage in lifelong learning
  • an ability to acquire and use the ever-changing technical knowledge required of computing professionals

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
CS Majors Enrolled 418 420 539 597 665 759 836
BS Degrees Awarded 117 128 157 178 213 200 247

Bachelor of Science in Computer Science

The Department of Computer Science awards a Bachelor of Science Degree in Computer Science to over 200 graduates each year. This 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 degree checksheet:

5-Year Accelerated BS/MS Program

To enable the completion of both a bachelor's and a master's degree in five years, Virginia Tech allows students with at least a 3.5 GPA to apply for admission to the Graduate School on the completion of seventy-five hours of undergraduate study.

Computer Science students in this program may take up to four graduate courses during their senior year in place of required CS 4000-level courses. These courses will "double-count" toward an MS degree in Computer Science as well.  (A CS MS degree requires either seven or eleven courses, depending on whether a thesis is done or not.)   Note that these courses must be taken for a grade, i.e., 5974 and 5994 are not allowed.

No more than two 3-credit graduate-level courses can be taken in one semester while an undergraduate, and no more than a total of 12 graduate credits will count toward the undergraduate degree. A grade of B or higher must be earned in each course that is double-counted. Award of the B.S. degree occurs on completion of the requirements as spelled out in the appropriate CS major checksheet, including the 12 credits of graduate work and the other departmental and university curriculum requirements. The remaining graduate courses for the M.S. degree should be taken after conferral of the B.S. degree.  Important note: double-counted courses must be taken during the final 12 months of the undergraduate degree; BS/MS students are expected to complete their BS degrees within two semesters after being accepted into this program.

Computer Science majors interested in applying for the BS/MS program should follow the application process below.

  • During the semester before your senior year (i.e., typically during the spring semester of your junior year), apply for admission to the CS MS program through the Graduate School admission system.
  • When you apply for the MS program, indicate that you want to begin studies in the semester after you expect to complete your BS degree.  For example, if you expect to finish your BS degree in May 2017, you would apply for admission to the MS program beginning in Fall 2017, even though you would be filling out the application in Spring 2016.
  • The MS admission process requires three letters of recommendation.  At least two should be from academic references.  When you fill out the on-line application you will be asked to provide contact information for these three references, and then they will be contacted electronically to supply the letters.  So it is important to speak with them before hand and get their permission to serve as reference letter writers.  
  • You do not have to take the GRE exam to be admitted to the BS/MS program.
  • Once you have submitted your MS application, notify the CS department that you have applied to the BS/MS program by emailing Dr. Edwards.
  • BS/MS applications are reviewed shortly after grades are issued for the semester in which you apply.   You will be notified by email of the result.
  • Students who are admitted will need to fill out an “Accelerated Undergraduate/Graduate Degree and Course Designation” form, available from the graduate school.  This is an advising form on which you will indicate the four graduate courses that you plan to take which will count for both your BS and MS degrees.

For more information about the program, read the BS/MS Program FAQ.

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.

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