Bachelor of Arts Curriculum Academic years 2022-2023 or later
The program below is for students beginning in Fall 2022 or later.
Students in academic years 2013-14 through 2021-22 see the 2013-14 through 2021-2022 curriculum and those in earlier years see the Pre-Fall 2013 curriculum.
Residency requirement—As part of a residency requirement, all computer science majors within SEAS must take a minimum of 30 credits in computer science courses at GW. Should a student pursue an approved study abroad program, credits earned in that program count toward this requirement. For students in another school who have declared a second major in computer science, at least 24 credits in computer science courses must be completed in SEAS.
Second major or two minors requirement—All BA in computer science majors are required to declare and complete either a second major or two minors in another academic department.
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 2 3 Social sciences elective 3 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 2 3 Natural or physical sciences with a lab elective 3 3 Social sciences elective 3 3 Third semester 15 CSCI 2113 Software Engineering Pre (CSci 1112 with a grade of C or better) 3 Humanities elective 3 3 Natural or physical sciences with a lab elective 3 3 Second major or minor elective5 3 Statistics requirement 4 3 Fourth semester 15 CSCI 2441W Database Systems and Team Projects Co (CSci 2113) 3 CSCI 2460 Introduction to Computer Systems Pre (CSci 1311 with a grade of C or better, CSci 1112), Co (CSci 2113) 3 Humanities elective 3 3 Second major or minor elective 5 3 General elective 5 3 Fifth semester 15 Advanced CS elective 6 3 Arts elective 3 3 Three second major or minor electives (3 credits each) 5 9
16 CSCI 3212 Algorithms Pre (CSCI 1311, CSCI 2113) 4 Global or cross-cultural elective 3 3 Humanities elective 3 3 Two second major or minor electives (3 credits each) 5 6 Seventh semester 15 Two Advanced CS Electives 6 6 Global or cross-cultural elective 3 3 Two second major or minor electives (3 credits each) 5 6 Eighth semester 15 Advanced computer science elective 6 3 Humanities elective 3 3 General elective 5 3 Two second major or minor electives (3 credits each) 5 6
1 Course satisfies the University General Education Requirement in writing. UW 1020 must be completed prior to any writing course in the major, including CSCI 2441W.
2 The mathematics requirement can be met by taking either MATH 1220 and MATH 1221; or MATH 1231 and MATH 1232.
3 This course should be selected from the Columbian College General Education Curriculum (G-PAC). From the G-PAC webpage, select the corresponding course type. For example, choose “G-PAC: Global or Cross-cultural” to find the courses that satisfy the “Global and cross-cultural elective”. The natural or physical sciences with lab electives must have a laboratory component.
4 Statistics requirement—The statistics requirement can be satisfied by completing one of the following courses: APSC 3115, CSCI 3362,, CSCI 4341, CSCI 6362, DNSC 1001, STAT 1051, or STAT 1053.
5 General electives and electives toward the second major or minor—All students in the BA in computer science program are required to complete 13 courses, each offered for a minimum of 3 credits, which may be counted toward the second major or minor or as general electives. At least 11 of these courses must be taken outside the computer science major. All courses used to fulfill the general electives and electives toward second major or minor requirements must have the explicit, documented approval from the faculty advisor, even when such courses are required for a minor or second major or have transferred to the University as Advanced Placement (AP) credit. Guidance for general and second major/minor electives is available on the Department of Computer Science website.
The following guidelines and/or restrictions apply to selecting courses to satisfy this requirement:
- Additional CSCI courses numbered above 2400 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, students must obtain the approval of the faculty advisor.
- Approved courses from the SEAS Humanities and Social Science Electives lists may count toward this requirement.
- 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.
- 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 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.
6 Advanced CS elective requirement. All students in the BA in computer science program are required to take four technical courses (for a minimum of 12 credits) of computer science courses numbered 2400 and above. Of these courses, at least two (for a minimum of 6 credits) must be at the 4000 level or above. CSCI 4243, CSCI 4243W, CSCI 4244 may not be used toward the advanced CS elective requirement. The faculty advisor’s documented approval is required before these courses may be applied toward degree completion