The Department of Computer Science offers a variety of ways to concentrate in this field at the undergraduate level. We have Bachelor of Science (B.S.) and Bachelor of Arts (B.A.) programs, as well as second-major and minor possibilities. This page summarizes the choices for you.

BA vs. BS, which one is for me?

Our Bachelor of Science (B.S.) program in Computer Science is a strong core-computer science program accredited by ABET, the professional society that accredits engineering programs. The B.S. program provides general education, strength in mathematics and science, communication and an in-depth program in Computer Science including a 9-credit Senior Design Project that closely models "industrial-strength" project development. Choose the B.S. program if you want to have depth and focus in Computer Science.

Our Bachelor of Arts (B.A.) program is designed for students who wish to combine a concentration in Computer Science with a second major, or set of secondary fields (minors), in natural science, liberal arts, or business. The program provides a foundation in Computer Science, along with lots of room in the curriculum to select courses in other disciplines. Students are required to elect a second major or two Secondary Fields. Choose the B.A. program if you have varied interests and want to pursue them side-by-side with a Computer Science concentration.

Tracks for Computer Science Majors:

To provide students with significant depth in at least one area of computer science, students must work with their advisor to select a technical track. Along with the technical track courses (which apply to both B.S. and B.A. programs), students in the B.S. program must also select a non-technical track to gain an in-depth experience in non-technical areas vital to both careers and development as an individual. Note: because the B.A. degree is inherently interdisciplinary, the non-technical track only applies to the B.S. program.

Currently, technical tracks are being offered in the following areas: (1) Computer Security and Information Assurance; (2) Computer Graphics and Digital Media; (3) Computer Systems; (4) Software Engineering; (5) Theory and foundations; and (6) Research.

Similarly, non-technical tracks currently offered include: (1) Global engineering; (2) Pre-law; (3) Business; (4) Pre-medical; (5) Project management; and (6) Public-health. You can speak with an advisor to learn about track requirements.

Second Majors, Minors, and Secondary Fields in Computer Science

Students in the Columbian College of Arts and Sciences (CCAS) and the Elliott School of International Affairs (ESIA) are eligible to declare a second major in Computer Science. Read more information on the curriculum requirements for a second major.

A SEAS student who is not majoring in Computer Science can elect a minor.

A student in one of the other GW schools can declare a Secondary Field in Computer Science.

Five-Year Bachelor's and Master's Degrees in Computer Science

The five year program provides an opportunity for students to complete a conventional four year undergraduate degree in Computer Science and then, with one additional year of study, earn a Masters degree in Computer Science. This is accomplished by carefully selecting some of the elective courses in the undergraduate program to cover some of the graduate coursework. Application to the graduate portion of the program is ordinarily made after the fifth semester in the Bachelor's program, and students must be accepted for the graduate portion prior to the start of the seventh semester. The bachelor's degree is awarded after completion of coursework required by the eighth semester. Consult a department advisor or see the five-year page for more details.