Undergraduate Core Requirements

[updated November 14, 2017 - added CS 230 to the options for requirement 12] 

Below is the latest sub-version of the current Core Requirements, known as the Generation 3 Core. In general, students are not bound by changes in requirements that are instituted after they declare. For previous versions of the Core, see Metadata: >> Versions on the right side of this page, or the previous Stanford Bulletins. All major courses must be taken for letter grades unless an approved course is offered satisfactory/no credit only. This is a strict policy. NOTE that all core courses must be passed with a C- or better to complete the major. Students who get lower than a C- in a core course should contact the program director or associate director to discuss whether they should continue in the program.

In order to graduate with a B.S. in Symbolic Systems, a student must complete the following requirements, plus a five-course concentration.  For some sample quarter-by-quarter plans to complete the core, click here. Some of the courses listed below have other courses as prerequisites; students are responsible for completing each course’s prerequisites before they take it.  With the exception of the advanced small seminar requirement, which can be fulfilled by a course taken for one other requirement in either the core or a concentration, courses cannot be used towards more than one area of the core requirements.

The requirements below are effective immediately. Note that the Core previous to this (Versions 11 and earlier) required six-course concentrations. The core described below is quite flexible, and when combined with different concentrations, it allows students to achieve high unit levels in any of our cognate departments.

For assistance with planning a course schedule during your remaining quarters at Stanford, see Sample Schedules for Completing Current Core Requirements.

Note also that not all courses in the list below (or in concentration lists) are being taught presently. Some are not offered this year but may be in the future. We continue to list recently discontinued courses for the benefit of students who have already taken those courses in previous years.

    1. Introductory Core Course.
    2. Continuous Fundamentals Level 1. Single Variable Calculus (one of the following):
      • 10 units of Advanced Placement Calculus credit
      • All three of the following:
      • Both of the following:
      • Both of the following:
      • Equivalent preparation in Single Variable Calculus, as judged by student
    3. Continuous Fundamentals Level 2. Multivariable Calculus (one of the following):

NOTE: The following are optional but recommended and may be required for some higher level courses:

      • Additional courses in the Math 50 series
      • Or additional courses in the CME 100 series
    1. Continuous Fundamentals Level 3. Probability and Statistics (one of the following):
    2. Discrete Fundamentals.
      1. Computing Level 1 (one of the following):
        • Or equivalent preparation, as judged by student
      2. Computing Level 2 (one of the following):
      3. Logic and the Theory of Computation (one of the following):
    3. Technical Depth. Two courses that build on those in requirements 4 and/or 5 above, chosen from the list below (from either the same or different areas). Courses should be chosen in a way that is appropriate/helps prepare for those in a student’s concentration.

Note especially:  students concentrating in HCI, AI, or Computer Music must take CS 107 or 107E (see Area A below). Other concentrations may also restrict the particular courses that can be taken to fulfill this requirement. See concentration lists at http://symsys.stanford.edu/viewing/htmldocument/13690.

      • Area A. Computer Programming
      • Area B: Computational Theory
      • Area C. Logic
      • Area D. Decision Theory/Game Theory
      • Area E. Probability and Statistics
    1. Philosophical Foundations Level 1. Introductory Philosophy (one of the following):
      • All three of the following SLE courses (must complete all three):
      • THINK 24. Evil
      • OSPOXFRD 20. Oxford Philosophy: Its Origins and Legends
      • Other introductory courses taught in the Philosophy Department, if approved by the Program Director or Associate Director
    2. Philosophical Foundations Level 2.
    3. Philosophical Foundations Level 3. An advanced undergraduate Philosophy course that lists PHIL 80 as a prerequisite (one of the following):
    4. Cognition and Neuroscience.
      1. Introductory Cognition and Neuroscience.  One of the following:
      2. An additional undergraduate course in cognition and/or neurosciences (one of the following):
    5. Natural Language.
      1. Language and Mind: (one of the following):
      2. Linguistic Theory: (one of the following):
    6. Computation and Cognition. A course applying core technical skills  to cognition (one of the following):
    7. Advanced Small Seminar Requirement. An upper division, limited-enrollment seminar drawing on material from other courses in the core.  Courses listed under Symbolic Systems Program offerings with numbers between Symsys 200 through 209 are acceptable, as are other courses which are announced in September of each academic year prior to the first day of classes. Beginning with courses taken in the 2013-2014 Academic Year, total enrollment must not exceed 20 students for a course to be approved as fulfilling the Advanced Small Seminar Requirement. A course taken to fulfill this requirement can also be counted toward another requirement, as part of either the core or a student’s concentration, but not both. Lists of approved seminars are linked below by year:

For Internet Explorer users: Click on the Tools menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Chrome users:Click on the Chrome "wrench" icon, located in the upper right hand corner of your browser window. When the drop-down menu appears, select the choice labeled Full Screen.

For Firefox user:Click on the View menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Safari users: Safari currently does not support the ability to go fullscreen.