Bachelor of Arts Program

The Bachelor of Arts (B.A.) program is designed for students who wish to combine computer science with a second major, or with a set of secondary fields (minors), typically 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. 

Curriculum

Students who elect to study for the Bachelor of Arts degree are required to elect a second major or two secondary fields. As part of a residency requirement, all computer science majors must take a minimum of 30 credits in computer science at GW. The 30 credits include courses that students who participate in a study abroad program take during their approved study abroad.

For those who want to combine core skills in computer science with another major, the B.A. program is the right choice. If you prefer to have depth and focus in computer science, then you may prefer the B.S. program. The first year of both programs are the same, so students do not need to decide upon entry. 

Students in the Bachelor of Arts program must work with their advisors to select a technical track. Detailed information on the curriculum, elective courses, and the technical track is available in the Bulletin which is the definitive statement of degree requirements and is updated to reflect and archive the requirements for each entering class. However, these links offer examples of courses and course schedules that students have used in the past and are appropriate for understanding the overall structure of our program:

Students enrolled before Fall 2013 please use this curriculum page.

Recommended program of study

First semester 15
CSCI 1010 Computer Science Orientation   1
CSCI 1111 Introduction to Software Development   3
SEAS 1001 Engineering Orientation   1
UW 1020 University Writing 1   4
Mathematics requirement 1   3
Social sciences elective 2   3
     
Second semester 15
CSCI 1112 Algorithms and Data Structures Pre (CSci 1111 with a grade of C or better, Math 1220/1231) 3
CSCI 1311 Discrete Structures I Pre (Math 1220 or 1231) 3
Mathematics requirement 1   3
Natural or physical sciences with a lab elective 1   3
Social sciences elective 2   3
     
Third semester 15
CSCI 2113 Software Engineering Pre (CSci 1112 with a grade of C or better) 3
Humanities elective 2   3
Natural or physical sciences with a lab elective 1   3
Second major or minor elective   3
Statistics requirement 3   3
     
Fourth semester 15
CSCI 2441W Database Systems and Team Projects   3
CSCI 2460 Introduction to Computer Systems Pre (CSci 1311 with a grade of C or better, CSci 1112) 3
Humanities elective 2   3
Natural or physical sciences with a lab elective 1   3
Unrestricted elective 4   3
     
Fifth semester 15
One of the following computer science restricted electives:   3
CSCI 3212 Algorithms Pre (CSCI 1311, CSCI 2113) 4
CSCI 3313 Foundations of Computing Pre (CSCI 1311CSCI 2113, and CSCI 2461) 3
CSCI 3410 Systems Programming Pre (CSCI 2461, 2113) 3
CSCI 3411 Operating Systems Pre (CSCI 2461, CSCI 2113) 4
Arts elective   3
Three second major or minor electives (3 credits each)   9
     
Sixth semester 15
CS technical track elective 5   3
Global or cross-cultural elective 2   3
Humanities elective 2   3
Two second major or minor electives (3 credits each)   6
     
Seventh semester 15
One of the following computer science restricted electives other than that already taken in the fifth semester:   3
CSCI 3212 Algorithms Pre (CSCI 1311, CSCI 2113) 4
CSCI 3313 Foundations of Computing Pre (CSCI 1311CSCI 2113, and CSCI 2461) 3
CSCI 3410 Systems Programming Pre (CSCI 2461, 2113) 3
CSCI 3411 Operating Systems Pre (CSCI 2461, CSCI 2113) 4
CS technical track elective 5   3
Global or cross-cultural elective 2   3
Two second major or minor electives (3 credits each)   6
     
Eighth semester 15
CS technical track elective 5   3
Humanities elective 2   3
Unrestricted elective 4   3
Two second major or minor electives (3 credits each)   6
Significant independent project 6  

1Course satisfies the University General Education Requirement in science and writing. UW 1020 must be completed prior to any writing course in the major, including CSCI 2441W or CSCI 2541W. The mathematics requirement can be met by taking MATH 1220 and MATH 1221 or MATH 1231 and MATH 1232.

2This course should be selected from the Columbian College General Education Curriculum (G-PAC). From the G-PAC webpage, select the corresponding types of classes. For example, choose “G-PAC: Global or Cross-cultural” to find the courses that satisfy the “Global and cross-cultural elective”. Two of the natural or physical sciences with lab electives must have a laboratory section.

3Statistics requirement—The statistics requirement can be satisfied by completing one of the following courses: APSC 3115,CSCI 3362 or CSCI 6362, CSCI 4341, STAT 1051, or STAT 1053. See note (*) below.

4Unrestricted electives—All students in the BA in computer science program are required to complete two unrestricted elective courses. All courses used to fulfill this requirement must have the explicit, documented approval from the faculty advisor, even when such courses are required for a minor or have transferred to the University as Advanced Placement (AP) credit. Guidance for unrestricted electives is available on the Department of Computer Science website.

The following guidelines and/or restrictions apply to selecting courses to satisfy this requirement:

  1. Additional CSCI courses numbered above 2461 may count toward this requirement. Students may take a maximum of two research and independent study courses, for which the student must provide documentation of output, such as papers, presentations, or software. For courses from other departments, the student must obtain the approval of the faculty advisor.
  2. Approved courses from the SEAS Humanities and Social Science Electives lists may count toward this requirement.
  3. Approved courses listed in non-technical track lists may count toward this requirement. However, such courses cannot count toward both the non-technical track requirement and as an unrestricted elective.
  4. Computer science courses taught by another department generally do not count toward this requirement. Courses that significantly overlap with, or are not as advanced as, the required content for the computer science degree program do not count toward this requirement. Such courses include, but are not limited to, the following: BADM 2301, EMSE 4197,ISTM 3119, ISTM 4120, ISTM 4121, ISTM 4123, STAT 1051, STAT 1053, and STAT 1129.
  5. Courses that significantly overlap with any other course(s) used toward the computer science degree, regardless of the department(s) in which they are taken, may not count toward this requirement.

Because of content overlap among courses in general, some courses may be approved for one student and not for another, based on other courses the student has taken. For example, if a student uses PHYS 1021 toward either the science, math/science, or unrestricted electives requirement, PHYS 1011 may not be used to fulfill this requirement, but PHYS 1011 would count for a student who has not taken PHYS 1021.

5Technical Track Requirement. All students in the BA in computer science program are required to take three technical courses (for a minimum of 9 credits) of computer science coursework for their technical track. These courses must have CSCI 2113 as a prerequisite or within their prerequisite chain. The faculty advisor’s documented approval is required before these courses may be applied towards degree completion.

6Significant Independent Project. Students pursuing a second major must complete a significant independent project. This requires completion of either (1) a course in the second major that includes a thesis or significant project, or (2) completion of CSCI 4243 and CSCI 4244 . The student's selection is subject to approval of the advisor.