Bachelor of Science with a Major in Computer Science

The program combines software development, computer systems and architecture, algorithms, project design, science, and mathematics to provide a strong foundation in the underpinnings of 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 B.S. in computer science program is accredited by ABET. 

Medical Preparation Option in Computer Science

This option is for students interested in pursuing a computer science major as they prepare to apply to a medical school. The degree program combines additional natural science course work with computer science course requirements.

Visit the program website for additional information.

Bachelor of Science With a Second Major in Computer Science

Students who are not enrolled in the School of Engineering and Applied Sciences (SEAS), who are enrolled in another bachelor of science program, but 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 bachelor of science in computer science as their primary major. 

Criteria for admission:

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

  • A minimum grade of B or above in CSCI 1111 or CSCI 1011 or CSCI 1121; and a B– or above in Math 1220 and Math 1221 or a B– in Math 1231;
  • A minimum overall grade-point average of 3.0 at the time of application to the major;
  • 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 current application deadlines for the second major in computer science.

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. See the department webpage for more information on curriculum requirements for the second major in computer science.

Recommended program of study

First semester
UW 1020University Writing *
CSCI 1010Computer Science Orientation
CSCI 1111Introduction to Software Development
SEAS 1001Engineering Orientation
Math requirement *
Humanities or social sciences elective **
Second semester
CSCI 1311Discrete Structures I
CSCI 1112Algorithms and Data Structures
Math requirement *
Science requirement *
Humanities or social sciences elective **
Third semester
CSCI 2312Discrete Structures II
CSCI 2461Computer Architecture I
CSCI 2113Software Engineering
Science requirement *
Humanities or social sciences elective **
Fourth semester
CSCI 3410Systems Programming
CSCI 2441WDatabase Systems and Team Projects
Computer science elective ***
Science requirement *
Statistics requirement - one of the following:
CSCI 4341Continuous Algorithms
CSCI 3362Probability for Computer Science
APSC 3115Engineering Analysis III
STAT 4157Introduction to Mathematical Statistics I
Fifth semester
CSCI 3313Foundations of Computing
CSCI 3212Algorithms
CSCI 3411Operating Systems
Humanities or social sciences elective **
Sixth semester
Technical track elective
Non-technical track elective
Math or science elective *
Humanities or social sciences elective **
Unrestricted elective
Seventh semester
CSCI 4243WCapstone Design Project I
Technical track elective
Non-technical track elective
Humanities or social sciences elective **
Unrestricted elective
Eighth semester
CSCI 4244Capstone Design Project II
Technical track elective
Non-technical track elective
Two unrestricted electives

*Course satisfies the university general education requirement in math, science, or writing. UW 1020 must be completed prior to any writing course in the major, including CSCI 2441W.
**At least two social and behavioral sciences courses must be selected from the University General Education Requirement list; the remaining course must be selected from either the University General Education Requirement list or the SEAS General Education Requirement list. At least one humanities course must be selected from the University General Education Requirement list; the remaining courses must be selected from either the University General Education Requirement list or the SEAS General Education Requirement list.

***Any CS course number 3000 or above.

Mathematics requirements can be met by taking MATH 1220 Calculus with Precalculus IMATH 1221 Calculus with Precalculus II and MATH 1232 Single-Variable Calculus II or by taking MATH 1231 Single-Variable Calculus I and MATH 1232 Single-Variable Calculus II. All students must take two math courses not counting MATH 1220 Calculus with Precalculus I; students who take MATH 1220 Calculus with Precalculus I must take it as one of their unrestricted electives. Science requirements can be met by choosing from BISC 1111 Introductory Biology: Cells and MoleculesBISC 1112 Introductory Biology: The Biology of Organisms, CHEM 1111 General Chemistry ICHEM 1112 General Chemistry II, and PHYS 1021 University Physics IPHYS 1022 University Physics II. The three science requirement courses must include a two-course sequence.

CSCI 4341 Continuous Algorithms and CSCI 3362/6362 Probability for Computer Science can count towards the statistics requirement or the math/science elective, but not both. Students who were admitted prior to fall 2014 may count STAT 1051 Introduction to Business and Economic Statistics and STAT 1053 Introduction to Statistics in Social Science towards the statistics requirement, if they took the course prior to the start of the Spring 2015 semester.

Some examples of technical tracks include computer security and information assurance, digital media, foundations and theory, biomedical computing, systems, software engineering and applications and research. Examples of non-technical tracks include business, project management, global engineering, pre-law,, and environment and climate change. Students may define their own non-technical track in consultation with their advisor. More information on the tracks and track requirements may be found on the program website.