About the Undergraduate Program
The undergraduate program in Computer Science at Virginia Tech is both challenging and rewarding. Through their undergraduate courses, students master the theoretical and practical foundations of computer science, and apply that foundation by choosing from a wide range of advanced topics and application areas, including animation, artificial intelligence, bioinformatics, database, graphics, human-computer interaction, multimedia, networking, parallel computation and software engineering.
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 outcomes
Part of the accreditation process is a clear statement of program objectives and desired outcomes for graduates. The objective of the computer science program is to provide majors with a balanced breadth and depth of knowledge in computer science that allows them the choice between continuing their education in graduate school and beginning their professional career, and to excel in either environment.
This objective is supported by a curriculum that seeks to have its graduates achieve the following program outcomes:
- 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