skip to content

Computer Science (CS)

Completion of the undergraduate program in Computer Science leads to the conferral of the Bachelor of Science in Computer Science.

Mission of the Undergraduate Program in Computer Science

The mission of the undergraduate program in Computer Science is to develop students' breadth of knowledge across the subject areas of computer sciences, 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 areas such as 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.

Requirements

Mathematics (26 units minimum):

CS 103. Mathematical Foundations of Computing1

5

CS 109. Introduction to Probability for Computer Scientists2

5

MATH 41, 42. Calculus3

10

Plus two electives4

 

Science (11 unit minimum):

PHYSICS 41. Mechanics

4

PHYSICS 43. Electricity and Magnetism

4

Science Elective5

3

Technology in Society (one course; see Basic Requirement 4)

3-5

Engineering Fundamentals (13 units; see Basic Requirement 3)

CS 106B or X. Programming Abstractions (or Accelerated)

5

ENGR 40. Electronics

5

Fundamentals Elective (may not be 70A, B, or X)

3-5

Writing in the Major (one course):

CS 181W, 191W, 194W, 210B, 294W

 

Computer Science Core (15 units):

CS 107. Computer Organization and Systems6

5

CS 110. Principles of Computer Systems7

5

CS 161. Data Structures and Algorithms8

5

Computer Science Depth9 (choose one of the following tracks; 25 units minimum):

Artificial Intelligence Track—

CS 221. Artificial Intelligence: Principles and Techniques

4

Choose two of: CS 223A, 223B, 224M, 224N, 226, 227, 228, 229

6-8

One additional course from the list above or the following: CS 124, 205A, 222, 224S, 224U, 224W, 225A 225B, 227B, 262, 276, 277, 279, 321, 323, 326A, 327A, 329 (with adviser consent), 374, 379 (with adviser consent); EE 263, 376A; ENGR 205, 209A; MS&E 251, 339, 351; STATS 315A, 315B

3-4

Track Electives: at least three additional courses from the lists above, the general CS electives list10, or the following: CS 275, 278; EE 364A, 364B; ECON 286; MS&E 252, 352, 355; PHIL 152; PSYCH 202, 204A, 204B; STATS 200, 202, 205

9-13

Biocomputation Track—the Mathematics, Science, and Engineering Fundamentals requirements are non-standard for this track. See Handbook for Undergraduate Engineering Programs for details.)

One of: CS 121, 221, 223B, 228, 229

3-4

One of: CS 262, 270, 273A, 274, 275, 278, 279

3-4

One additional course from the lists above or the following: CS 124, 145, 147, 148, 248

3-4

One course from either the general CS electives list10 or the list of Biomedical Computation (BMC) Informatics electives (see http://bmc.stanford.edu and select Informatics from the elective options)

3-4

One course from the BMC Informatics elective list

3-4

One course from either the BMC Informatics, Cellular/Molecular, or Organs/Organisms electives lists

3-5

One course from either the BMC Cellular/Molecular or Organs/Organisms electives lists

3-5

Graphics Track—

CS 148, 248

8

One of11: CS 205A; CME 104, 108; MATH 52, 113

3-5

Two of: CS 164, 178, 205B, 223B, 268, 348A, 348B, 448

6-8

Track Electives: at least two additional courses from the lists above, the general CS electives list10, or the following: ARTSTUDI 60, 70, 179; CS 48N, 326A; CME 302, 306, 324; EE 262, 264, 278, 368; ME 101; PSYCH 30, 221; STS 144

6-8

Human-Computer Interaction Track—

CS 147, 247

8

One of: CS 148, 376, 377, 378

3-4

One of: CS 108, 124, 140, 142, 221, 229, 249A

3-4

One of: PSYCH 55, 252; MS&E 184; ME 101

3-6

Track Electives: at least two additional courses from the lists above, the general CS electives list10, or the following: ARTSTUDI 60; COMM 169; CME 340; CS 447 (with consent of undergraduate adviser), 448B (with adviser consent); ME 216A; PSYCH 205, 221

6-9

Information Track—

CS 124, 145

8

Two courses, from different areas:

Information-based AI applications: CS 224N, 224S, 229

Database and Information Systems: CS 140, 142, 245, 246, 341, 345, 346, 347

Information Systems in Biology: CS 262, 270, 274

Information Systems on the Web: CS 224W, 276, 364B

6-9

At least three additional courses from the above areas or the general CS electives list10

9-14

Systems Track—

CS 140

4

One of: CS 143 or EE 108B

3-4

Two additional courses from the list above or the following: CS 144, 145, 149, 155, 240, 242, 243, 244, 245; EE 271, 282

6-8

Track Electives: at least three additional courses selected from the list above, the general CS electives list10, or the following: CS 240E, 244C, 244E, 315A, 315B, 341, 343, 344, 344E, 345, 346, 347, 349 (with adviser consent), 448; EE 382A, 382C, 384A, 384B, 384C, 384S, 384X, 384Y

9-12

Theory Track—

CS 154

4

One of: CS 164, 255, 258, 261, 268, 361A, 361B, 365

3

Two additional courses from the list above or the following: CS 143, 155, 157 or PHIL 151, 205A, 228, 242, 254, 259, 262, 354, 355, 357, 358, 359 (with consent of undergraduate adviser), 364A, 364B, 369 (with advisor consent), 374; MS&E 310

6-8

Track Electives: at least three additional courses from the list above, the general CS electives list10, or the following: CME 302, 305; PHIL 152

9-12

Unspecialized Track—

CS 154

4

One of: CS 140, 143

4

One additional course from the list above or the following: CS 144, 155, 242, 244; EE 108B

3-4

One of: CS 121 or 221, 223A, 223B, 228, 229

3-4

One of: CS 145, 147, 148, 248, 262

3-4

At least two courses from the general CS electives list10

6-8

Individually Designed Track—

Students may propose an individually designed track. Proposals should include a minimum of seven courses, at least four of which must be CS courses numbered 100 or above. See Handbook for Undergraduate Engineering Programs for further information.

Capstone Project (3 units minimum)

CS 191, 191W, 194, 194W, 210B, 294, 294W12

3

These requirements are subject to change. The final requirements are published with sample programs in the Handbook for Undergraduate Engineering Programs.

1 Students who have taken either CS 103X or CS 103A,B are considered to have satisfied the CS103 requirement. Students who took CS103X are required to complete one additional unit in their track or elective courses (i.e., 26 total units for track and elective courses).

2 Students who completed STATS 116, MS&E 120, or CME 106 in Winter Quarter 2008-09 or earlier may count that course as satisfying the CS 109 requirement. These same courses taken in Spring Quarter 2008-09 or later cannot be used to satisfy the CS 109 requirement.

3 MATH 19, 20, and 21 may be taken instead of MATH 41 and 42 as long as at least 26 MATH units are taken.

4 The math electives list consists of: MATH 51, 103, 104, 108, 109, 110, 113; CS 157, 205A; PHIL 151; CME 100, 102, 104. Completion of MATH 52 and 53 counts as one math elective. Restrictions: MATH 51 and 103, or MATH 103 and 113, or CS 157 and PHIL 151, may not be used in combination to satisfy the math electives requirement. Students who have taken both MATH 51 and 52 may not count CME 100 as an elective. Courses counted as math electives cannot also count as CS electives, and vice versa.

5 The science elective may be any course of 3 or more units from the School of Engineering lists plus PSYCH 30 or 55; AP Chemistry and Physics also may be used to meet this requirement. Either of the PHYSICS sequences 61/63 or 21/23 may be substituted for 41/43 as long as at least 11 science units are taken.

6 The name of CS 107 has changed. The previous CS 107 course entitled Programming Paradigms also fulfills this requirement.

7 Students who completed CS 108 and either CS 140 or CS 143 by Winter Quarter 2008-09 or earlier, may choose to count CS 108 as satisfying the CS 110 requirement. In such a case, CS 108 may not also be counted as an elective and the student is required to complete one additional unit in their track or elective courses (i.e., 26 total units for track and elective courses).

8 Students who took CS 161 for 4 units are required to complete one additional unit in their track or elective courses (i.e., 26 total units for track and elective courses).

9 Students must satisfy the requirements for any one track. Track requirements plus electives should include a minimum of seven courses and total at least 25 units.

10 General CS Electives: CS 108, 121 or 221, 124, 140, 142, 143, 144, 145, 147, 148, 149, 154, 155, 156, 157 or PHIL 151, 164, 205A, 205B, 210A, 222, 223A, 223B, 224M, 224N, 224S, 224U, 224W, 225A, 225B, 226, 227, 228, 228T, 229, 240, 241, 242, 243, 244, 244B, 245, 246, 247, 248, 249A, 249B, 254, 255, 256, 257, 258, 261, 262, 270, 271, 272, 273A, 274, 276, 277, 295; CME 108; EE 108B, 282.

11 CS 205A is recommended in this list for the Graphics track. Students taking CME 104 are also required to take its prerequisite, CME 102.

12 Independent study projects (CS 191 or 191W) require faculty sponsorship and must be approved by the adviser, faculty sponsor, and the CS senior project adviser (R. Plummer or P. Young). A signed approval form, along with a brief description of the proposed project, should be filed the quarter before work on the project is begun. Further details can be found in the Handbook for Undergraduate Engineering Programs.

Copyright ©2010 Stanford University | Office of the University Registrar | Academic Year 2010-11 | Terms of Use | Copyright Complaints | Report a Problem with this site.