People/Web Search Calendar Emergency Info A-Z Index UVA Email University of Virginia


The computer science department 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 Science in Computer Engineering (in collaboration with the U.Va. Charles L. Brown Department of Electrical and Computer Engineering), a Bachelor of Arts in Computer Science (in collaboration with U.Va.’s College of Arts & Sciences), a Master of Computer Science, a Master of Science and a Ph.D. in Computer Science. The department also offers a Computer Science Minor for Undergraduates.

The difference between the bachelor of science in computer science degree offered through the School of Engineering and Applied Sciences and the interdisciplinary major in computer science degree offered through the College is in general requirements, course sequence, required courses, electives and the thesis requirement. See differences between CS degrees for further information.

The department has a commitment to excellence in instruction, with a world-class undergraduate curriculum that has been adopted by many departments in the U.S. and a student/faculty ratio that facilitates mentorship, individual attention and research collaborations. For more information on our undergraduate programs please consult our Undergraduate Handbook.

The BS in Computer Science degree and the BS in Computer Engineering degree are accredited. See Information on Accreditation and Graduation for more information.

The graduate program provides state of the art material in courses and individualized mentoring in research. For more information on our graduate program please consult our Graduate Handbook.

Registration for computer science courses is done on a class by class basis. The intention of this registration policy is to ensure that students who are required to take a particular course have first access to class seats. Prudent students will register for computer science classes as soon as they are able to do so. Electronic waiting lists are being kept for computer science courses.

The prerequisite structure is being strictly enforced. A detailed description of this policy is available. The enforcement of the prerequisites ensures that all class seats go to worthy students.