Computer
Science
BA Degree
|
Differences between CS Degrees
The Computer Science department offers two Computer Science degrees,
the Interdisciplinary Major in Computer Science degree offered through
the College of Arts & Sciences (BACS), and the Bachelor of Science
in Computer Science degree offered through the School of Engineering and
Applied Sciences. The main differences between the two degrees are:
- The BACS degree is in the College of Arts & Sciences; the BSCS is
in the School of Engineering and Applied Science. This means the
degrees have different general requirements. The general requirements
for the College of Arts & Sciences are the competency requirements
(see the
Undergraduate Record for details). They include two writing
requirements, a foreign language, and area requirements in natural
science and mathematics, social sciences, humanities, and historical
studies. The general requirements for the School of Engineering and
Applied Sciences include mathematics, chemistry, physics, technical
electives, humanities electives, and science, technology, and society
courses (see the
curriculum for details). To enroll in the BACS major, students must
be enrolled in the College of Arts & Sciences. To enroll in the
BSCS major, students must be enrolled in the School of Engineering and
Applied Science.
- The BACS degree starts with the CS1120-CS2220 (previously numbered
CS150-CS205) gateway sequence; the BSCS degree starts with the
CS1110-CS2110 sequence. The CS1120-CS2220
sequence is a more conceptual introduction to computer science, that
emphasizes the key intellectual ideas first in CS1120, and includes
connections between computer science and the arts and sciences. The
CS1110-CS2110 sequence emphasizes first learning an industrial programming
language, and is required for all students in the Engineering school.
After completing the first two courses, students are prepared for the
same courses, and both BACS and BSCS take the same core courses
(CS2102, CS2150, CS3330, and CS4102).
- The BSCS degree includes additional required CS courses that are
not required for the BACS degree. The additional courses required for
the BSCS degree are CS3102 (Theory of Computation), CS3240 (Advanced
Software Development Techniques), and CS4414 (Operating Systems). BACS
students are welcome and encouraged to take these courses, which can
count as CS electives for BACS students.
- The BACS degree requires four integration electives, which are not
part of the BSCS degree. The integration electives are courses in other
departments that have strong connections with computing. See http://www.cs.virginia.edu/ba/integration.html
for a list of integration electives.
- The BSCS degree (like all Engineering School degrees) requires a
fourth-year thesis. This involves taking STS 4010 (in which students
write a thesis proposal) and STS 4020 (in which students complete a
thesis report), and working with a technical advisor on a thesis
project. BACS students are not required to complete a thesis, but may
enter the distinguished majors program. To complete a distinguished
major, a BACS student must complete a fourth year thesis project that is
approved by two readers, one from Computer Science and one from an Arts
& Sciences department.
|