skip to content

Bulletin Archive

This archived information is dated to the 2008-09 academic year only and may no longer be current.

For currently applicable policies and information, see the current Stanford Bulletin.

Bachelor of Science in Symbolic Systems

The program leading to a B.S. in Symbolic Systems provides students with a core of concepts and techniques, drawing on faculty and courses from various departments. The curriculum prepares students for advanced training in the interdisciplinary study of language and information, or for postgraduate study in any of the main contributing disciplines. It is also excellent preparation for employment immediately after graduation.

Symbolic Systems majors must complete a core of required courses plus a field of study consisting of six additional courses. All major courses are to be taken for letter grades unless an approved course is offered satisfactory/no credit only. All core courses must be passed with a grade of 'C-' or better. Students who receive a grade lower than this in a core course must alert the program of this fact so that a decision can be made about whether the student should continue in the major.


In order to graduate with a B.S. in Symbolic Systems, a student must complete the following requirements. Some of these courses have other courses as prerequisites; students are responsible for completing each course's prerequisites before they take it.

  1. Cognitive Science: SYMBSYS 100. Introduction to Cognitive Science
  2. Computer Programming:
    1. CS 106A. Programming Methodology and 106B. Programming Abstractions; or 106X. Programming Methodology and Abstractions (Accelerated); and
    2. CS 107. Programming Paradigms
  3. Logic:
    1. PHIL 150. Basic Concepts in Mathematical Logic;

      or 150X. Basic Concepts in Mathematical Logic, and CS 103. Mathematical Foundations of Computing, 103A. Discrete Mathematics for Computer Science, or 103X. Discrete Structures (Accelerated)

    2. PHIL 151. First-Order Logic
  4. Computational Theory:
    1. CS 103B. Discrete Structures; or 103X. Discrete Structures (Accelerated) or 103. Mathematical Foundations of Computing
    2. CS 154. Introduction to Automata and Complexity Theory; or PHIL 152. Computability and Logic
  5. Probability: one of the following:

    CS 109. Introduction to Probability for Computer Scientists

    CME 106/ENGR 155C. Introduction to Probability and Statistics for Engineers

    EE 178. Probabilistic Systems Analysis

    MATH 151. Introduction to Probability Theory

    MS&E 120. Probabilistic Analysis

    STATS 110. Statistical Methods in Engineering and the Physical Sciences

    STATS 116. Theory of Probability

  6. Philosophical Foundations:
    1. an introductory course in Philosophy must be taken prior to the required PHIL 80, from among the following:

    PHIL 10. God, Self, and World: An Introduction to Philosophy

    PHIL 20. Introduction to Moral Philosophy

    PHIL 30. Introduction to Political Philosophy

    PHIL 60. Introduction to Philosophy of Science

    PHIL 102. Modern Philosophy, Descartes to Kant

    IHUM 23A,B. The Fate of Reason


    1. PHIL 80. Mind, Matter, and Meaning (WIM)
  7. Cognitive Psychology: PSYCH 55. Introduction to Cognition and Brain
  8. Language and Mind: one of the following:

    LINGUIST 1. Introduction to Linguistics

    LINGUIST 140. Language Acquisition I

    PHIL 181. Philosophy of Language

    PSYCH 131. Language and Thought

    PSYCH 137. Birds to Words: Cognition, Communication, and Language

  9. Linguistic Theory: one of the following:

    LINGUIST 120. Introduction to Syntax

    LINGUIST 130A. Introduction to Linguistic Meaning

    LINGUIST 180. Introduction to Computational Linguistics

    LINGUIST 230A. Introduction to Semantics and Pragmatics

  10. Artificial Intelligence: CS 121. Introduction to Artificial Intelligence, or 221. Artificial Intelligence: Principles and Techniques
  11. Advanced Small Seminar:* an upper-division, limited-enrollment seminar drawing on material from other courses in the core. Courses listed under Symbolic Systems Program offerings with numbers from SYMBSYS 201 through 209 are acceptable, as are other courses which are announced at the beginning of each academic year.

* A course taken to fulfill one of these requirements can also be counted toward another requirement, as part of either the core or a student's concentration (see below), but not both.


In addition to the core requirements listed above, the Symbolic Systems major requires each student to complete a field of study consisting of six courses that are thematically related to each other. Students select concentrations from the list below or design others in consultation with their advisers. The field of study is declared on Axess; it appears on the transcript but not on the diploma.

Applied Logic

Artificial Intelligence

Cognitive Science

Computer Music

Decision Making and Rationality

Human-Computer Interaction


Natural Language


Philosophical Foundations


The program strongly encourages all SSP majors to gain experience in directed research by participating in faculty research projects or by pursuing independent study. In addition to the Symbolic Systems Honors Program (see below), the following avenues are offered.

  1. Summer Internships: students work on SSP-related faculty research projects. Application procedures are announced in the winter quarter for SSP majors.
  2. Research Assistantships: other opportunities to work on faculty research projects are typically announced to SSP majors as they arise during the academic year.
  3. Independent Study: under faculty supervision. For course credit, students should enroll in SYMBSYS 196.

Contact SSP for more information on any of these possibilities, or see In addition, the Undergraduate Advising and Research office offers grants and scholarships supporting student research projects at all levels; see


Seniors in SSP may apply for admission to the Symbolic Systems honors program prior to the beginning of their final year of study. Students who are accepted into the honors program can graduate with honors by completing an honors thesis under the supervision of a faculty member. Course credit for the honors project may be obtained by registering for SYMBSYS 190, Honors Tutorial, for any quarters while a student is working on an honors project. Juniors who are interested in doing an honors project during their senior year are advised to take SYMBSYS 91, Junior Honors Seminar. SYMBSYS 191, Senior Honors Seminar, is recommended for honors students during the senior year. Contact SSP or visit the program's web site for more information on the honors program, including deadlines and policies.

© Stanford University - Office of the Registrar. Archive of the Stanford Bulletin 2008-09. Terms of Use | Copyright Complaints