Bachelor of Arts Curriculum Academic years 2013-14 through 2021-22

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.

Detailed information on the curriculum and elective courses 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.

In the table below, P(...)=Prerequisite-courses; Co(...)=Corequisite-courses. The number of credits is in parentheses following the course number. 

Note: the program below is effective for students in academic years 2013-14 through 2021-22.

Students enrolled before Fall 2013 please use this curriculum page.

Students enrolling in Fall 2022 or later, 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.

2For students in the 2019-20, 2020-21 and 2021-22 curriculum years, this 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. For students in curriculum years 2013-14 through 2018-19, see Bachelor of Arts Electives 

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.