Overview
Computer Science is the study of information processes. Computer scientists learn how to describe information processes, how to reason about and predict properties of information processes, and how to implement information processes elegantly and efficiently in hardware and software. The Computer Science curriculum concentrates on developing the deep understanding of computing and critical thinking skills that will enable graduates to pursue a wide variety of possible fields and to become academic, cultural, and industrial leaders. The core curriculum focuses on developing methods and tools for describing, implementing, and analyzing information processes and for managing complexity including abstraction, specification, and recursion. Computing connects closely with a wide range of disciplines including, but not limited to, the visual arts, music, life sciences including biology and cognitive science, the physical sciences, linguistics, mathematics, and the social sciences. The Computer Science major provides student with a strong foundation in computer science, combined with courses in arts, humanities, and sciences, in order to develop broad understanding of other areas and their connections to computing.
Faculty The Computer Science Department has twenty-six faculty members. Our faculty is strongly commited to teaching as well as conduction world-class reseach. Faculty interests span major areas of computer sience with particular strengths in algorithms, programming languages, security, sensor networks, software engineering, and theory. The Computer Science major is administered by the Computer Science BA Committee, composed of faculty from various departments in the College and the Computer Science Department. The B.A. Committee is responsible for the B.A. curriculum, student advising, and deciding on exceptions to the major requirements.
Students Computer Science majors are not required to enter the University with any previous background in computing. To enroll in the major, students must submit an application form (see http://www.cs.virginia.edu/ba/ for details). We expect to enroll approximately 25 majors each year.
Major Subject Requirements
Computer Science majors must complete two gateway courses, four core courses, four computing electives, and four integration electives.
Distinguished Majors Program
Distinguished majors complete the B.A. degree requirements in addition to a fourth year thesis project that is approved by two advisors, one from Computer Science and one from Arts and Sciences. Both advisors must approve the student’s plan of study, thesis proposal, and thesis report.