Bachelor of Science Curriculum Academic years 2022-23 or later

The program below is for students beginning in Fall 2022 or later. 

Recommended program of study

Course List
First semester   15
UW 1020 University Writing 1   4
CSCI 1010 Computer Science Orientation   1
CSCI 1111 Introduction to Software Development   3
SEAS 1001 Engineering Orientation   1
Mathematics requirement 3   3
Humanities, social science, or non-technical elective2   3
     
Second semester   16
CSCI 1311 Discrete Structures I Pre (Math 1220/1231) 3
CSCI 1112 Algorithms and Data Structures Pre (CSCI 1111 with a grade of C or higher, Math 1220/1231)  3
Mathematics requirement 3   3
Science requirement 4   4
Humanities, social science, or non-technical elective2   3
     
Third semester  

16

CSCI 2312 Discrete Structures II Pre (CSCI 1311 with a grade of C or higher; Math 1231 or MATH 1221) 3
CSCI 2410 Systems Programming Pre (CSCI 1112 with a grade of C or higher) 3
CSCI 2113 Software Engineering Pre (CSCI 1112 with a grade of C or higher; Math 1221 or Math 1231) 3
Science requirement 4   4
Humanities, social science, or non-technical elective2   3
     
Fourth semester   15
CSCI 3401 Computer Architecture and Organization Pre (CSCI 1311, CSCI 2113, CSCI 2410) 3
CSCI 2541W Database Systems and Team Projects Pre (CSCI 1311), Co (CSci 2113) 3
CSCI 3313 Foundations of Computing Pre (CSCI 2113, and CSCI 2312 or CSCI 2460 or CSCI 2461) 3
Policy and Ethics Requirement5   3
Statistics or linear algebra requirement 6   3
     
Fifth semester   14
CSCI 3212 Algorithms Pre (CSCI 1311, CSCI 2113) 4
CSCI 3411 Operating Systems Pre (CSCI 2113, CSCI 2410 or 2461) 4
CS technical elective   3
Humanities, social science, or non-technical elective2   3
     
Sixth semester   15
Statistics or linear algebra requirement 6   3
CS technical elective   3
Humanities, social science, or non-technical elective2   3
General elective (see below)   3
General elective (see below)   3
     
Seventh semester   16
CSCI 4243W Capstone Design Project I Pre (CSCI 3212 and CSCI 3411) 4
CS technical elective   3
Humanities, social science, or non-technical elective 2   3
General elective (see below)   3
General elective (see below)   3
     
Eighth semester   16
CSCI 4244 Capstone Design Project II Pre (CSCI 4243) 4
General elective (see below)   3
General elective (see below)   3
General elective (see below)   3
General elective (see below)   3

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

2Humanities, social science, and non-technical elective 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 Humanities, Social Science, and Non-Technical Elective Requirement list. All courses selected to satisfy this requirement must be at least 3 credits and approved by the faculty advisor.

3Mathematics 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 general electives.

4Science requirement: Can be met by choosing two courses from BISC 1111, BISC 1112, CHEM 1111, CHEM 1112, PHYS 1021 and PHYS 1022.

5Policy and Ethics Requirement: Can be met by taking one of the following: CSCI 2211, PHIL 2135, and CSCI 4532.

6Statistics 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, CSCI 6362, CSCI 4341, or STAT 4157. The Linear algebra requirement can be met by taking one of the following:MATH 2184, MATH 2185, CSCI 4342, or EMSE 2705.

Computer science technical electives

All students in the BS in computer science program are required to take three technical courses (for a minimum of 9 credits) of computer science coursework. All courses must be numbered CSCI 4000 and above.

General electives

All students in the BS in computer science are required to complete eight general elective courses (a minimum of 3 credits each for a minimum total of 24 credits). 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 selected 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, each requiring advisor approval, for which the student must provide documentation of output, such as papers, presentations, or software. See the department website for more information on research and independent study courses. For courses from other departments, the student must obtain the approval of the faculty advisor.
  2. Approved courses from the SEAS Humanities, Social Science, and Non-Technical Electives list may count toward this requirement.
  3. 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.
  4. 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.
  5. 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 1021towards either the science, math/science, or selected elective 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.