ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Stanford University s School of Engineering
2
Computer Science
3
Theory Track
4
2021-2022 Program Sheet
5
Final version of program sheet due to the department no later than one month prior to the last quarter of senior year.
6
*Follow all requirements as stated for the year of the program sheet used.*
7
Name:SU ID #:
8
Phone:Email:
9
Today's Date:
Month/Yr B.S. expected:
10
11
Mathematics and Science Requirement (Delete courses and units not taken)
12
DeptCourseTitleTransfer/AP Approval by SoEUnitGrade
13
P if TransferSoE InitialsDate
14
Mathematics (26 units minimum)
15
MATH19Calculus (see note 1)
16
MATH20
17
MATH21
18
CS103Mathematical Foundations of Computing
19
CS109Introduction to Probability for Computer Scientists
20
Plus two electives (see note 2)
21
22
23
Mathematics Unit Total (26 units minimum)
24
Science (11 units minimum)
25
PHYS41Mechanics (or PHYS 21 or PHYS 61)
26
PHYS43Electricity and Magnetism (or PHYS 23 or PHYS 63)
27
Elective (see note 3)
28
Science Unit Total (11 units minimum)
29
(37 units min. Math/Sci combined)
30
Technology in Society Requirement (1 course req'd from TiS Approved list at ughb.stanford.edu the year taken; see note 8)
31
32
33
Engineering Fundamentals (10 units minimum)
34
CS106Programming Abstractions (B or X)
35
ENGR40MAn Intro to Making: What is EE?
36
Engineering Fundamentals Total (10 units minimum)
37
38
NOTES
39
*
All courses listed on this form can be included under only one category. There is no double-counting.
40
*
All courses listed on this form must be taken for a letter grade except courses taken Spring 2019-20, and Autumn 2020-21 through
41
Summer 2020-21.
42
*Minimum Grade Point Average (GPA) for all courses in ENGR Fundamentals and CS Core, Depth, and Senior Project (combined) is 2.0.
43
*
Students without prior programming experience should first take CS106A. The major otherwise requires at most 95 units, so even with CS106A, the
44
BSCS major respects the university's 100-unit limit.
45
*Transfer and AP credits in Math, Science, Fundamentals, & TIS must be approved by the SoE Dean's Office. Transfer credits in Computer Science Core, Depth, and Senior Project must be approved by the Computer Science undergraduate program office.
46
*Courses must be taken for the number of units on the Program Sheet. CS103, 106B/X, 107, 109, 110, and 161 must be taken for 5 units.
47
( 1 )
Up to 10 units AP credit (with placement into MATH 51/CME 100) may be used, as long as at least 26 math units are taken. AP must be approved by SoE.
48
( 2 )
Math electives: Math 51, 52, 53, 104, 107, 108, 109, 110, 113; CS 157, 205L; PHIL 151; CME 100, 102, 104; ENGR 108 (or CME 103 or EE 103).
49
Restrictions:CS 157+ Phil 151 may not be used in combination to satisfy the Math electives requirement. Students who have taken both
50
Math 51 & 52 may not count CME 100 as an elective.
51
( 3 )
Any course of 3 or more units from the SoE Science List (see Courses page at ughb.stanford.edu), PSYCH 30, or AP Chemistry may be used. All AP credit
52
must be approved by the SoE; see AP page https://ughb.stanford.edu/transfers-ap-exceptions in UGHB for approval process.
53
CS Theory Track Program Sheet (continued)
54
55
Theory Track Core, Depth, and Senior Project (43 units minimum)
56
Be advised: no course may be listed twice on the sheet; no double-counting.
57
DeptCourseTitleTransfer/Deviation Approval by DeptUnitGrade
58
P if Transfer
Dept Initials
Date
59
Core (15 units minimum)
60
CS
107 or 107E
Computer Organization and Systems
61
CS110 or 111Principlets of Computer Systems
62
CS161Design and Analysis of Algorithms
63
Depth; Track and Electives (25 units and seven courses minimum)
64
CS154
Intro Automata and Complexity Theory (Track Requirement A)
65
CSTrack Requirement B (see note 4)
66
Track Requirement C (see note 5)
67
Track Requirement C (see note 5)
68
Elective (see note 6)
69
Elective (see note 6)
70
Elective (see note 6)
71
Optional Elective
72
Senior Project (1 course required)
73
CS
At least 3 units of 191, 191W, 194, 194H, 194W, 210B, 294 or 294W (see note 8)
74
Computer Science Core, Depth and Senior Project Total (43 units minimum)
75
76
Program Approvals
77
78
Departmental
79
Printed Name:
Date:
80
81
Signature:
82
83
School of Engineering (No action required-office use only)
84
Printed Name:
Date:
85
86
Signature:
87
88
89
NOTES (continued from page 1)
90
( 4 )
Track Requirement B: Any one of CS 168, 255, 261, 265, 268
91
( 5 )
Track Requirement C: Two courses selected from the Track Requirement B list or the following - CS 143, 151, 155, 157 (or PHIL 151),
92
163, 166, 205L, 228, 233, 235, 236, 242, 250, 251, 252, 254, 259 (with permission of undergraduate advisor), 263, 269I, 351, 353, 354,
93
355, 357, 358, 359 (with permission of undergraduate advisor), 369 (with permission of undergraduate advisor); MS&E 310
94
( 6 )
Track Electives: At least three additional courses selected from the Track Requirement B list, the Track Requirement C list, the
95
General CS Electives list (see note 7), or the following - CS 254B, 269G; CME 302, 305; Phil 152
96
*Students may replace one track elective with a course found at: http://www.cs.stanford.edu/humanities*
97
( 7 )
General CS Electives: CS 108, 112 or 112E, 124, 131, 140 or 140E, 142, 143, 144, 145, 146, 147, 148, 149, 151, 154, 155,
98
157 (or PHIL 151), 163, 166, 168, 190, 195 (4 units maximum), 197, 205L, 206, 210A, 217, 221, 223A, 224N, 224S, 224U, 224W, 225A,
99
227B, 228, 229, 229M, 229T, 230, 231A, 231C, 231N, 232, 233, 234, 235, 237A, 237B, 238, 240, 240LX, 242, 243, 244, 244B, 245,
100
246, 247 (any suffix), 248, 250, 251, 252, 254, 254B, 255, 261, 263, 265, 269I, 269O, 269Q, 270, 271, 272, 273A, 273B, 274, 276, 278,