Bachelor of Arts with a Major in Computer Science

Bachelor of Arts Degree Program

The bachelor of arts with a major in computer science degree program provides a broad-based liberal arts curriculum for students who wish to augment technical computer knowledge with humanities, social sciences, business, communication, or management skills. Foundation courses focus on mathematics, science, software design and programming, computer systems and architecture, and algorithm design. Additional breadth or depth is afforded by selection of technical track courses that build on the foundations to provide in-depth exposure to a specific field in computer science. The program is designed for those with interests in two or more disciplines, as students must complete a second major or two minors in another academic department. The program also offers a medical preparation option for students interested in pursuing a computer science major with preparation for application to medical school.

Visit the program website for additional information.

Second Major in Computer Science

Students who are not enrolled in the School of Engineering and Applied Science (SEAS), who are enrolled in a bachelor of arts program and wish to declare a second major in computer science, must apply and be admitted to the computer science program. See the department website for more information about curriculum requirements for the second major in computer science.

Students who are enrolled in a bachelor of arts program in a school of the University other than the School of Engineering and Applied Science who wish to declare a second major in computer science must apply and be admitted to the computer science program. See the department website for more information about curriculum requirements for the second major in computer science.

Admission criteria for a second major in computer science

To be considered for admission to the second major in computer science, a student must satisfy the following criteria:

Application deadline

The application is due no later than the start of the fifth semester of study at GW or completion of the sixtieth credit, whichever comes first. Contact the School of Engineering and Applied Science Undergraduate Advising Office for specific application deadlines.

Credits in residence requirement

  • For a second major, at least 24 credits in computer science courses must be completed in SEAS.

Graduation grade-point average criteria

  • To satisfactorily complete a second major in computer science, a student must have a minimum grade-point average of 2.2 in all the computer science courses.

Residency Requirement

As part of a residency requirement, all computer science majors 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 a second major, at least 24 credits in computer science courses must be completed in SEAS.

Recommended program of study

First semester15
CSCI 1010Computer Science Orientation1
CSCI 1111Introduction to Software Development3
SEAS 1001Engineering Orientation1
UW 1020University Writing 14
Mathematics requirement 13
Social sciences elective 23
Second semester15
CSCI 1112Algorithms and Data Structures3
CSCI 1311Discrete Structures I3
Mathematics requirement 13
Natural or physical sciences with a lab elective 13
Social sciences elective 23
Third semester15
CSCI 2113Software Engineering3
CSCI 2461Computer Architecture I3
Natural or physical sciences with a lab elective 13
Humanities elective 23
Statistics/linear algebra requirement 33
Fourth semester15
CSCI 2501Ethical Issues in Computing1
CSCI 2541WDatabase Systems and Team Projects 3
Humanities elective 23
Second major elective3
Natural or physical sciences with a lab elective 13
Unrestricted elective 43
Fifth semester15
One of the following computer science restricted electives:3
CSCI 3212Algorithms4
CSCI 3313Foundations of Computing4
CSCI 3410Systems Programming3
CSCI 3411Operating Systems4
Arts elective3
Second major elective3
Second major elective3
Second major elective3
Sixth semester15
Technical track elective 53
Humanities elective 23
Global or cross-cultural elective 23
Second major elective3
Second major elective3
Seventh semester15
One of the following computer science restricted electives: (different from the CS restricted elective already taken in fifth semester)3
CSCI 3212Algorithms4
CSCI 3313Foundations of Computing4
CSCI 3410Systems Programming3
CSCI 3411Operating Systems4
Technical track elective 53
Global or cross-cultural elective 23
Second major elective3
Second major elective3
Eighth semester15
Technical track elective 53
Humanities elective 23
Unrestricted elective 43
Second major elective3
Second major elective3
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 or linear algebra requirement: The Statistics requirement can be met by choosing APSC 3115, CSCI 3362, CSCI 6362, CSCI 4341, or STAT 4157. The linear algebra requirement can be met by taking one of MATH 2184, CSCI 4342, or EMSE 2705. Students who were admitted prior to fall 2014 may count STAT 1051 and STAT 1053 toward the statistics requirement, if they took the course prior to the spring 2015 semester. Students doing a premedical concentration may substitute the linear algebra requirement with a science course required by the premedical requirements.

4Unrestricted electives—All students in the BA in computer science program are required to complete four 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 a course in the second major that includes a thesis or significant project or completion of CSCI 4243 and CSCI 4244 . The student's selection is subject to approval of the advisor.