Bachelor of Science with a Major in Computer Science

The bachelor of science (BS) in computer science program combines software development, computer systems and architecture, algorithms, project design, science, and mathematics to provide a strong foundation in computer science. Students are prepared to design and implement software needed for Internet operations, computer graphics and animation, secure systems, and applications for small, large, and embedded systems. In consultation with the advisor, students choose a technical track and a non-technical track. The technical track provides depth in a particular area of computer science, while the non-technical track enables students to stay current with the rapidly evolving field and to establish the relevance of their studies in the ever-changing global environment. The program is accredited by ABET.

Visit the program website for additional information.

Bachelor of Science With a Second Major in Computer Science

Students enrolled in a BS program outside of the School of Engineering and Applied Sciences (SEAS) who wish to declare a second major in computer science must apply and be admitted to the second major program in computer science. Students in this program must follow the same degree requirements as those receiving a BS in computer science as their primary major.  See the department webpage for additional information.

Criteria for admission:

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 5th semester of study at GW or completion of the 60th 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 courses taken that count towards the degree.

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
UW 1020University Writing *4
CSCI 1010Computer Science Orientation1
CSCI 1111Introduction to Software Development3
SEAS 1001Engineering Orientation1
Mathematics requirement *3
Humanities or social sciences elective3
Second semester16
CSCI 1311Discrete Structures I3
CSCI 1112Algorithms and Data Structures3
Mathematics requirement *3
Science requirement *4
Humanities or social sciences elective3
Third semester16
CSCI 2312Discrete Structures II3
CSCI 2461Computer Architecture I3
CSCI 2113Software Engineering3
Science requirement *4
Humanities or social sciences elective3
Fourth semester17
CSCI 3410Systems Programming3
CSCI 2541WDatabase Systems and Team Projects 3
CSCI 2501Ethical Issues in Computing1
CSCI 3313Foundations of Computing3
Science requirement *4
Statistics or linear algebra requirement *3
Fifth semester14
CSCI 3212Algorithms4
CSCI 3411Operating Systems4
CS technical track elective3
Humanitities or social sciences electives3
Sixth semester15
Statistics or linear algebra requirement *3
CS technical track elective3
Non-technical track elective3
Humanities or social sciences elective3
Unrestricted elective (see below)3
Seventh semester16
CSCI 4243WCapstone Design Project I4
CS technical track elective3
Non-technical track elective3
Humanities or social sciences elective3
Unrestricted elective (see below)3
Eighth semester16
CSCI 4244Capstone Design Project II4
CS technical track elective3
Non-technical track elective3
Unrestricted elective (see below)3
Unrestricted elective (see below)3

*Course satisfies the University General Education Requirement in mathematics, science, or writing. UW 1020 must be completed prior to enrolling in any writing course in the major, including CSCI 2441W and CSCI 2541W.

Humanities and social science requirements: All BS in computer science students must take one humanities course and two social science courses from the Columbian College G-PAC Requirement list and three additional humanities, social science, and/or non-technical courses from the SEAS General Education Requirement list. All courses selected to satisfy this requirement must be at least 3 credits and approved by the faculty advisor.

Mathematics requirement: Can be met by taking MATH 1220 and MATH 1221 and MATH 1232 or by taking MATH 1231 and MATH 1232. All students must take two MATH courses not counting MATH 1220; students who take MATH 1220 must take it as one of their unrestricted electives.

Science requirement: Can be met by choosing from BISC 1111 and BISC 1112 (or BISC 1115/BISC 1125 and BISC 1116/BISC 1126); CHEM 1111and CHEM 1112; and PHYS 1021 and PHYS 1022. The three science requirement courses must include a two-course sequence.

Statistics or linear algebra requirement: Students must take both a statistics class, and a linear algebra class. The Statistics requirement can be met by choosing from APSC 3115, CSCI 3362 or 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 pre-med concentration may substitute the Linear Algebra Requirement with a science course required by the pre-medical requirements.

Non-technical track requirement

All BS in computer science students must complete a non-technical track that consists of at least three non-technical courses (for a minimum of 9 credits) with prior approval of the faculty advisor. To satisfy this requirement, students may choose one of the following:

  • Technology and lawthree pre-law related courses, for a minimum total of 9 credits, from the following: CSCI 4532, EMSE 6018, MAE 3171, and MAE 4172. Additional courses may be included with prior approval of the faculty advisor.
  • Businessthree courses, for a minimum total of 9 credits, in Business Administration (BADM) coursework. Courses that may be taken as part of this track include ACCY 2001, ACCY 2002, BADM 3401, and BADM 3501. Other BADM courses may be included with prior approval of the faculty advisor.
  • Premedicalthree courses, for a minimum total of 9 credits, from the following: BISC 1111 and BISC 1112; CHEM 1111 and CHEM 1112, CHEM 2151, CHEM 2152, CHEM 2153, CHEM 2154, PHYS 1011 and PHYS 1012, or PHYS 1021 and PHYS 1022. Additional courses may be included with prior approval of the faculty advisor.
  • Project management and leadershipthree courses, for a minimum total of 9 credits, of project management, communication, leadership, or engineering management coursework, including COMM 1041, COMM 1042, COMM 3174, EMSE 4410, EMSE 6001, EMSE 6005, MGT 3201, NSC 2175, NSC 4176, ORSC 1109, and ORSC 2116. Additional courses may be included with prior approval of the faculty advisor.
  • Global engineeringthree non-technical courses, for a minimum total of 9 credits, in one of the following options with prior approval the faculty advisor: (1) while studying abroad; (2) in a single foreign language; (3) in International Affairs; or, (4) in aspects of non-English speaking cultures from the fields of anthropology, history, literatures, geography, political science, or religion.
  • Environment and climate change—three courses, for a minimum total of 9 credits, related to the environment and climate change which may include BISC 2454, BISC 3460, CE 6503, CHEM 2085, ECON 2136, EMSE 6200, EMSE 6220, EMSE 6260, EMSE 6225, EMSE 6235, EMSE 6230, GEOG 2108,GEOG 2110,GEOG 2134,GEOG 2136, and GEOG 3132. Additional courses may be included with prior approval of the faculty advisor.
  • Public healththree courses, for a minimum total of 9 credits, in public health coursework that may include PUBH 1101, PUBH 1102, PUBH 2114, PUBH 2115, and PUBH 3133. Additional courses may be included with prior approval of the faculty advisor.
  • Individually designedstudent select a series of related three non-technical courses (for a minimum of 9 credits). Any course completed for this track must be approved by the faculty advisor prior to completing the course.
  • Special option: minor or second majorstudents can combine at least three non-technical courses (for a minimum total of 9 credits), not closely related to the discipline of computing allotted to their non-technical track with their unrestricted electives to complete a non-technical minor or second major.

Computer science technical track requirements

All students in the BS in computer science program are required to take four technical courses (for a minimum of 12 credits) of computer science coursework for their technical track. All courses must have CSCI 2113 as a prerequisite or within the prerequisite chain. Two of these technical classes must be taken from within core technical areas. Guidance on these areas is available on the Department of Computer Science website. The faculty advisor’s documented approval is required before courses may be applied towards degree completion.

Unrestricted electives

All students in the BS in Computer Science are required to complete four unrestricted elective courses. All courses used to fulfill this requirement must have the explicit, documented approval from the faculty adviser, even when such courses are required for a minor or have transferred to the University as Advanced Placement (AP) credit. Guidance concerning unrestricted electives is available on the Department of Computer Science webiste.

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, but not both.  Such a course cannot count towards 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 towards the computer science degree, regardless of the department(s) in which they are taken, may not count toward this requirement.

  6. 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 towards either the science, math/science, or unrestricted elective requirement, PHYS 1011 may not be used to fulfill this requirement, but PHYS1011 would count for a student who has not taken PHYS 1021.