Skip to Main Content

CS-BS - Computer Science (BS)

Download as PDF

Computer ScienceUndergraduate MatriculatedBS - Bachelor of Science

Program Overview

The undergraduate program in Computer Science aims to develop students’ breadth of knowledge across the subject areas of computer science, including their ability to apply the defining processes of computer science theory, abstraction, design, and implementation to solve problems in the discipline. Students take a set of core courses. After learning the essential programming techniques and the mathematical foundations of computer science, students take courses in programming techniques, automata and complexity theory, systems programming, computer architecture, analysis of algorithms, artificial intelligence, and applications. The program prepares students for careers in government, law, and the corporate sector and for graduate study.

Minimum Units in the Program

93

Minimum University Units

180
Completion requirement
Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 2085321
  • 2085281
  • 1172271
  • 1172291
  • 1172301

MATH 19, MATH 20, and MATH 21, or AP Calculus Credit may be used as long as at least 26 MATH units are taken.

AP credit may also be used to satisfy Math 19, 20 and/or 21. Please see the Stanford External Test Credit Equivalency Charts for additional details.

AND

Students must complete at least 2 Math Electives regardless of if they've reached the 26 units of Math.

Complete at least 2 of the following Courses:
  • 2023541
  • 1043151
  • 1043162
  • 1056841
  • 1057251
  • 2155763
  • 1172571
  • 1172591
  • 1172611
  • 1172891
  • 2170341
  • 1172921
  • 1172931
  • 1172941
  • 1172961
  • 1222441

Math electives are not required for the Computational Bio Subplan.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 1226171
    OR
    1226021
    OR
    1226431
    OR
    2208011
  • 1226191
    OR
    1226071
    OR
    1226461
    OR
    2193131

Students may also use AP Physics if approved by the School of Engineering.

The Computational Biology Subplan requires a different set of Science courses. Please see the Computational Biology Subplan for details.

AND
Complete at least 1 of the following Courses:
  • 1118501
  • 1118511
  • 2181841
  • 2193621
  • 2193661
  • 2193651
  • 2193671
  • 2193681
  • 2193751
  • 1119251
  • 1034411
  • 2042511
  • 2042531
  • 1122461
  • 1122501
  • 1122531
  • 1122731
  • 2225792
  • 1290821
  • 2095052
  • 1115811
  • 1115841
  • 1115901
  • 1226021
  • 1226071
  • 1226101
  • 1226171
    OR
    2208011
  • 1226191
  • 1226241
  • 1226431
  • 1226511
  • 1226461
  • 1237921
  • The Science Elective may be any course of three or more units from the list above or AP Chemistry Credit. The School of Engineering must approve AP Chemistry and AP Physics credits.

Complete at least 1 of the following Courses:
  • 1032041
  • 2046082
    OR
    2046081
  • 2120991
  • 2161132
    OR
    2161133
  • 1034551
  • 2247752
  • 2145761
  • 2181541
  • 2041791
  • 2260352
    OR
    2260351
  • 2268121
  • 2253931
  • 2250151
  • 2216301
  • 2213951
  • 2213961
  • 2263691
  • 2241661
  • 2205711
  • 2249831
  • 2243447
  • 2185951
  • 1043131
  • 2206851
    OR
    2206852
  • 2117255
    AND
    2038935
  • 2262061
  • 2055941
  • 2262281
  • 1045334
  • 2072331
  • 1230891
  • 2234232
  • 2151001
  • 2137911
  • 2264231
  • 2199191
Complete ALL of the following Courses:
  • 1056451
  • 2152291
    OR
    2221541
  • The Computational Biology Subplan requires a different set of Engineering Fundamentals courses. Please see the Computational Biology Subplan for details.

  • **Students without prior programming experience should first take CS106A.

Completion requirement
Complete ALL of the following Courses:
  • 1056491
    OR
    2164691
  • 2228601
  • 1056871

Courses must be taken for 5 units.

Completion requirement

The following subplans include an electives requirement:

  • Artificial Intelligence

  • Visual Computing

  • Human-Computer Interaction

  • Information

  • Systems

  • Theory

  • Unspecialized

These electives requirements can include choosing from a list of CS General Electives course (listed immediately below):

If you see a reference to CS-BS General Electives in one of the subplans, you can refer here for that list.

Fulfill ANY of the following requirements:
Complete ANY of the following Courses:
  • 2234871
  • 2254531
  • 2085111
  • 2149051
  • 2255663
  • 2250151
  • 2197091
  • 1056721
  • 2075241
  • 1056751
  • 2275851
  • 2274401
  • 1056761
  • 2255561
  • 1056781
  • 1056791
  • 2205701
  • 1056821
  • 2016391
  • 1056841
    OR
    1222441
  • 2148161
  • 2156861
  • 2263801
  • 2071961
  • 2246171
  • 2202391
  • 2215251
  • 2248571
  • 1057251
  • 2188202
  • 2093111
  • 2237541
  • 2205841
  • 1057301
  • 2263691
  • 1057361
  • 2255581
  • 1209041
  • 2242591
  • 2036822
  • 2234881
  • 1058241
  • 1057431
  • 2050301
  • 1057481
  • 1057501
  • 2254171
  • 2224462
  • 2253921
  • 2198851
  • 1057371
  • 2164531
  • 1400362
  • 2170091
  • 2190451
  • 2117823
  • 2185453
  • 2215361
  • 2158402
  • 1057571
  • 2223741
  • 1057611
  • 1057621
  • 2274531
  • 2010401
  • 2215291
  • 2224681
  • 2265371
  • 2215301
  • 2215311
  • 2215321
  • 1057741
  • 1057761
  • 2233191
  • 1040962
  • 2171371
  • 2107621
  • 2215691
  • 1057791
  • 2241661
  • 2241711
  • 2273431
  • 2136071
  • 1057881
  • 2225471
  • 2103631
  • 2145631
  • 2186001
  • 1272172
  • 1410293
  • 2186011
  • 2214723
  • 1410302
  • 2064032
  • 2205711
  • 2159421
  • 2232911
  • 2252402
  • 2166321
  • 2215371
  • 2255541
  • 2214782
  • 1058651
  • 2182021
  • 2216211
  • 2224641
  • 2199951
  • 2233051
  • 1058731
  • 1031562
  • 2207811
  • 1059441
  • 2259031
  • 1056641
  • 2244902
  • 2026971
  • 2027851
  • 2168541
  • 1039231
  • 2066521
  • 2222721
  • 2114051
  • 2259461
  • 2177571
  • 2227622
  • Students must successfully complete CS 111 prior to taking CS 112.

  • CS111 and CS212 can both be counted towards the BS requirements. Students must successfully complete CS111 prior to taking CS140E.

  • CS195 can be taken for a maximum of four units.

  • CS293 must be taken for 3+ units.

See individual subplans for specific direction on selecting General Elective courses.

The Department of Computer Science (CS) encourages undergraduates to take humanities and social science courses outside of CS to complement the technical curriculum.

Students in the Artificial Intelligence, Human-Computer Interaction, Information, Systems, Theory, or Visual Computing tracks may use up to one course from the approved CS humanities electives list to fulfill a track elective requirement on their program sheet.

Note: This option is not available for students in the Computational Biology, Computer Engineering, or Unspecialized tracks.

Complete ANY of the following Courses:
  • 2023103
  • 2206161
  • 2046082
  • 2223863
  • 2169412
  • 2252901
  • 1103581
  • 2169431
  • 2023101
  • 2172401
  • 2240281
  • 2197201
  • 2181541
  • 2192981
  • 2041791
  • 2269291
  • 2213771
  • 2205671
  • 2205531
  • 2260352
  • 2268121
  • 2216301
  • 1055861
  • 2111611
  • 2213951
  • 2213961
  • 2222411
  • 2188202
  • 2232911
  • 2196104
  • 1295152
  • 2243444
  • 2195511
  • 2216112
  • 2225121
  • 2249231
  • 1291412
  • 2102141
  • 2223861
  • 2206544
  • 2143841
  • 2071481
  • 2120992
  • 2055562
  • 2238891
  • 2260211
  • 2168274
  • 2216101
  • 2216102
  • 2134291
  • 2055561
  • 2168273
  • 2269391
  • 2240863
  • 2209681
  • 2229621
  • 2011661
  • 2183662
  • 1207101
  • 1207061
  • 2246063
  • 1045591
  • 2263481
  • 1221271
  • 2091342
  • 1408384
  • 1222661
  • 1222696
  • 2265212
  • 2238701
  • 2171541
  • 2264631
  • 1408383
  • 1237981
  • 1237991
  • 2215914
  • 2156881
  • 1239701
  • 2024741
  • 2031891
  • 1240621
  • 2226421
  • 2189731
  • 1244591
  • 2194811
  • 1408381

Cross-listed versions of these courses are also acceptable.

Completion requirement

CS 121, 181W or 182W will satisfy both the Writing in the Major (WiM) and Technology in Society (TiS) requirements.

CS 191W, 194W, or 210B will satisfy both the Writing in the Major (WiM) and Capstone requirements.

Complete at least 1 of the following Courses:
  • 2268121
  • 2111611
  • 2213961
  • 1056921
  • 2111641
  • 2093121
Completion requirement
Earn at least 3 credits from the following:
  • 1056911
  • 1056921
  • 1057051
  • 2111641
  • 2093121

Independent study projects (course Senior Project or course Writing Intensive Senior Project) require faculty sponsorship and must be approved by the advisor, faculty sponsor, and the CS senior project advisor. A signed approval form and a brief description of the proposed project should be filed the quarter before work begins. Further details can be found in the Handbook for Undergraduate Engineering Programs (UGHB).

Completion requirement

The Department of Computer Science (CS) offers an honors program for undergraduates whose academic records and personal initiative indicate that they have the necessary skills to undertake high-quality research in computer science. Admission to the program is by application only. To apply for the honors program, students must be majoring in Computer Science, have a grade point average (GPA) of at least 3.6 in courses that count toward the major, and achieve senior standing (135 or more units) by the end of the academic year in which they apply. Coterminal master’s students can apply if they have not received their undergraduate degree. Beyond these requirements, students who apply for the honors program must find a Computer Science faculty member who agrees to serve as the thesis advisor for the project. Thesis advisors must be members of Stanford’s Academic Council.

Upon acceptance into the Honors Program, students are required to fulfill the following requirements within the academic year of their admission.

  1. Complete at least nine units of course or course under the direction of their project sponsor

  2. Attend a weekly honors seminar during winter and spring quarters

  3. Complete an honors thesis deemed acceptable by the thesis advisor and at least one additional faculty member

  4. Present the thesis at a public colloquium sponsored by the CS department

  5. Maintain the 3.6 GPA required for admission to the honors program

https://www.cs.stanford.edu/bs-requirements-honors-program

Earn at least 9 credits from the following:
  • 1056911
    OR
    1056921
Completion requirement
Complete ALL of the following Courses:
  • 1057301

Select a total of two courses, each from a different area.

Complete at least 2 of the following:

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2242591
  • 1057481
  • 1057501
  • 2224462
  • 2190451
  • 2158402
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2085111
  • 1209041
  • 2036822
  • 2234881
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2149051
  • 1057371
  • 2164531
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2254531
  • 2255663
  • 1057361
  • 2185453

Select one additional course from the Track B Requirement list or from the following:

Fulfill ANY of the following requirements:
Complete at least 1 of the following Courses:
  • 1056841
  • 1057251
  • 2198851
  • 2205691
  • 2241711
  • 1254901
  • 1254911
OR
Complete at least 1 of the following Courses:
  • 2117823
  • 2159421
OR
Complete at least 1 of the following Courses:
  • 1058241
OR
Complete ALL of the following Courses:
  • 2241661
OR
Complete at least 1 of the following Courses:
  • 1057431
  • 1058321
  • 1043361

CS329 (any suffix) may be taken with advisor approval.

OR
Complete at least 1 of the following Courses:
  • 2253921
OR
Complete at least 1 of the following Courses:
  • 2263691
OR
Complete at least 1 of the following Courses:
  • 2205701
  • 2050301

Complete at least three additional courses selected from the lists above, the Track Electives below, or the General Electives listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Fulfill ANY of the following requirements:
Complete ANY of the following Courses:
  • 2124481
  • 2195513
  • 2196961
  • 2214782
  • 1038991
  • 1039161
  • 2066521
  • 2066541
  • 1045581
  • 1046011
  • 1222451
  • 2024741
  • 2031891
  • 2133671
  • 1254161
  • 1254201
  • 1254211
  • 1254231
  • 2226491
  • 1255552
Completion requirement

86 units minimum for the subplan

**The Computational Biology track/subplan's Mathematics, Science, and Engineering Fundamentals requirements are non-standard - there are no math electives required.

WiM and Capstone requirements are standard and the same for all tracks/subplans.

Fulfill ALL of the following requirements:

Complete a minimum of 20 units of mathematics coursework.

Complete ALL of the following Courses:
  • 1172271
  • 1172291
  • 1172301
  • 2085321
  • 2085281

AP credit may also be used to satisfy Math 19, 20 and/or 21. Please see the Stanford External Test Credit Equivalency Charts for additional details.

AND

Complete at least 3 courses and 12 units in either the Biology Sequence or Humbio Sequence.

Fulfill ANY of the following requirements:
Complete at least 3 of the following Courses:
  • 2193661
  • 2193651
  • 2193681
  • 2193751
OR
Complete ALL of the following Courses:
  • 1115811
  • 1115841
  • 1115901
AND
Complete at least 2 of the following Courses:
  • 1056451
AND

Complete at least 8 courses and 25 units.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 2071961
  • 1057301

CS173A was previously offered as CS273A. Either CS173A or CS273A can be used to complete this requirement.

AND
Complete at least 1 of the following Courses:
  • 2258431
  • 2010401
AND
Complete at least 1 of the following Courses:
  • 2275851
  • 2255561
  • 1059441
  • 2244902
AND
Complete at least 1 of the following Courses:
  • 2186012
  • 1272171
  • 1410301
  • 2122201
  • 2064031
  • 2094221
  • 2214722
  • 2117822
  • 2159421
  • 2162561
AND
Complete at least 1 of the following Courses:
  • 2085111
  • 2149051
  • 1209041
  • 2242591
  • 2234881
  • 1058241
  • 1057481
  • 1057501
  • 2253921
  • 2164531
  • 2190451
  • 2158402
AND

Complete one additional course from the Track D or Track E lists above, or one of the following.

Complete at least 1 of the following Courses:
  • 2079241
  • 1120641
  • 2226471
  • 1272881
  • 2186012
  • 1272171
  • 1410301
  • 2122201
  • 2064031
  • 2094221
  • 2214722
  • 2117822
  • 1032821
  • 2085111
  • 2149051
  • 2085161
  • 1056761
  • 2255561
  • 1056781
  • 1056821
  • 2148161
  • 2156861
  • 1209041
  • 2242591
  • 2234881
  • 1058241
  • 1057481
  • 1057501
  • 2253921
  • 2198851
  • 2164531
  • 2190451
  • 2158402
  • 1057741
  • 2159421
  • 2244902
  • 1038991
  • 2066521
  • 2162561
  • 1045271
  • 1045581
  • 2010471
  • 1254201
  • 1254211
  • 1254231
  • 1254241
  • 1254293
  • 1254901
  • 1254911
AND

Complete at least one additional course from the Track D list, or from the following.

Complete at least 1 of the following Courses:
  • 2079241
  • 2193621
  • 2193661
  • 2193651
  • 2193671
  • 2193681
  • 2193751
  • 2193681
  • 1118852
  • 1275793
  • 1120201
  • 1272881
  • 2022622
  • 2259361
  • 2042511
  • 2042531
  • 1122461
  • 1122501
  • 2183881
  • 2183891
  • 1122861
  • 2052151
  • 1032821
  • 1036782
  • 1273491
  • 2012731
  • 2142151
  • 2023031
AND
Complete at least 1 of the following Courses:
  • 1056911
  • 1056921
  • 1057051
  • 2111641
  • 2093121

CS 191W, 194W, and 210B also satisfies the Writing in the Major (WiM) requirement.

Completion requirement

93 units minimum

25 units and 7 courses  minimum of Computer Engineering Depth coursework.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 2026971
  • 2027851
AND

Select two of the following:

Complete at least 2 of the following Courses:
  • 2031031
  • 2031041
  • 2031051
  • 2031061
AND

Satisfy the requirements of one of the following concentration requirements below: Digital Systems, Robotics and Mechatronics, or Networking.

Fulfill ANY of the following requirements:
Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 2037841
  • 1039061
AND
Complete at least 1 of the following Courses:
  • 2234871
  • 2197091
OR
Complete ALL of the following Courses:
  • 1057251
  • 1057361
  • 1051121
    OR
    1057431
OR

Required Courses

Complete ALL of the following Courses:
  • 2234871
    OR
    2197091
  • 2075241
AND
Complete at least 1 of the following Courses:
  • 1057571
  • 2223741
  • 2172792
  • 2274531
  • 1038081
Completion requirement

93 units minimum

25 units and 7 courses  minimum of Human-Computer Interaction Depth coursework.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 1056761
  • 2215291
    OR
    2224681
    OR
    2265371
    OR
    2215301
    OR
    2215311
    OR
    2215321
  • 2046501

Students may replace CS347 with a two-course combination of (1) COMM254 or COMM224 and (2) an additional HCI elective from the Track C or Track Elective course lists below.

AND
Complete at least 1 of the following Courses:
  • 2275851
  • 2255561
AND

Complete at least 1 of the following Courses:
  • 2246171
  • 2205711
  • 1059441
AND

Complete one additional course from the Track C List or from one of the following.

Complete at least 1 of the following Courses:
  • 2164971
  • 2188202
  • 2093111
  • 2263691
  • 2248641
  • 2215291
  • 2224681
  • 2265371
  • 2215301
  • 2215311
  • 2215321
  • 2249831
  • 2167691
  • 2207811
  • 2199851
  • 2277071
  • 2212611
  • 2176841

Students may use up to one Humanities course option in place of a Track Elective or Additional Elective. The list of Optional Humanities Electives Options can be found in the Electives section.

AND

Complete at least one additional course from the Track C list, Track Elective list, or the CS General Electives list found in the Electives section.

Students may use up to one Humanities course option in place of a Track Elective or Additional Elective. The list of Optional Humanities Electives Options can be found in the Electives section.

Completion requirement

93 Units minimum

25 units and 7 courses minimum of Information Depth coursework.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 2085111
  • 1056751
AND

Complete two courses from different areas:

Complete at least 2 of the following:

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 1209041
  • 2036822
  • 1057501
  • 2170091
  • 2190451
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2234871
  • 2197091
  • 2255561
  • 2205701
  • 2010401
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 2117823
  • 1272172
  • 1410302
OR

You can only select one course from each area.

Complete at least 1 of the following Courses:
  • 1058241
AND

Complete at least three additional courses selected from Track B List, the General CS Electives listed in the Electives section, or up to one course from the list of Optional Humanities Elective courses found in the Electives section.

Completion requirement

93 Units minimum

25 units and 7 courses  minimum of Systems Depth coursework.

Fulfill ALL of the following requirements:
Complete at least 1 of the following Courses:
  • 2234871
  • 2197091
AND
Complete at least 1 of the following Courses:
  • 1056721
  • 2027851
AND
Complete at least 2 of the following Courses:
  • 2075241
  • 1056751
  • 1056791
  • 2016391
  • 2205841
  • 1057571
    OR
    2223741
  • 1057611
  • 1057621
  • 2274531
  • 1039061
  • 1039231
AND

Complete at least three additional courses selected from the Track C list above, the Subplan Electives listed below, or General CS Electives or up to one Humanities course listed in the Electives section.

Fulfill ANY of the following requirements:
Complete ANY of the following Courses:
  • 2172792
  • 2037561
  • 2242391
  • 2226881
  • 2196851
  • 2237801
  • 2164112
  • 2026971
  • 2152401
  • 2042331
  • 1400391
OR

You may also choose from the list of CS-BS General Electives courses listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Completion requirement

93 Units minimum

25 units and 7 courses  minimum of Theory Depth coursework.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 1056821
AND
Complete at least 1 of the following Courses:
  • 2156861
  • 1057791
  • 1057881
  • 2145631
AND

Complete two additional courses from Track B list, or one of the following:

Complete at least 2 of the following Courses:
  • 1056721
  • 2205701
  • 2016391
  • 1056841
    OR
    1222441
  • 2148161
  • 1057251
  • 1057481
  • 2170091
  • 2117823
  • 2205691
  • 1057611
  • 1040962
  • 2171371
  • 2107621
  • 2136071
  • 2225471
  • 2103631
  • 2186001
  • 1058731

*Enrollment in CS369 with permission of undergraduate advisor.

AND

Complete at least three additional courses selected from Track B or C lists above, the Subplan Electives listed below, or General CS Electives listed in the Electives section. Up to one course from the Eligible Humanities Electives list (also found in the Electives section) may be used.

Fulfill ANY of the following requirements:
Complete ANY of the following Courses:
  • 1057521
  • 2215691
  • 1222451
Completion requirement

93 Units minimum

25 units and 7 courses  minimum of Unspecialized Depth coursework.

Fulfill ALL of the following requirements:
Complete ALL of the following Courses:
  • 1056821
AND
Complete at least 1 of the following Courses:
  • 2234871
  • 2197091
  • 1056721
AND

Complete one additional course from the list above, or one of the following:

Complete at least 1 of the following Courses:
  • 2075241
  • 2016391
  • 1057611
  • 2274531
  • 2027851
AND
Complete at least 1 of the following Courses:
  • 1057301
  • 1057361
  • 1057481
  • 1057501
  • 1057371
  • 2158402
AND
Complete at least 1 of the following Courses:
  • 1056751
  • 1056761
  • 1056781
  • 2156861
  • 2071961
  • 1057741
  • 1057761
  • 2159421
AND

Complete at least two additional courses selected from the CS-BS General Electives list in the Electives section. You may also choose up to one course from the list of Eligible Humanities courses listed in the Electives section.

Completion requirement

93 Units minimum

25 units and 7 courses  minimum of Visual Computing Depth coursework.

Fulfill ALL of the following requirements:
Complete at least 2 of the following Courses:
  • 1057431
  • 1057741
  • 1057761
  • 2164531
AND
Complete at least 3 of the following Courses:
  • 1057251
  • 1057361
  • 2242591
  • 1057431
  • 1057371
  • 2164531
  • 2170091
  • 1057741
  • 1057761
  • 2182021
  • 2224641
  • 2199951
  • 2164112
  • 2168541
AND

Complete at least three additional courses selected from the Visual Computing Depth course list above, from the Subplan Electives list below, or the CS-BS General Electives list in the Electives section. Up to one Humanities course may be used.

Fulfill ANY of the following requirements:
Complete at least 3 of the following Courses:
  • 2254531
  • 2149051
  • 1056781
  • 1056791
  • 1057301
  • 1209041
  • 1057501
  • 2198851
  • 2190451
  • 2205691
  • 1059441
  • 2171381
  • 1038971
Completion requirement

Students may propose an Individually Designed Track that includes a minimum of seven courses and 25 units, at least four of which must be CS courses numbered 100 or above. Proposals must be submitted and approved at least two quarters before graduation. To create an individually designed program, students should complete an Individually Designed Track program sheet and obtain approval from their undergraduate advisor and the Associate Chair for Education, Chris Gregg. Proposals will be evaluated for coherence and rigor. Approved program sheets should be submitted to the staff in the CS undergraduate program office, and any subsequent changes must go through the same proposal and approval process.