Majors Involving Computer Science
At Stanford, students interested in learning about computing have a choice of five different majors, which are described in the following sections. Alternatively, some students choose to pursue a CS Minor.
Computer Science The most widely followed course of study in this general area is the computer science major itself (CS). Within the CS major, you can explore many different specialties, such as programming languages, graphics, databases, theory of computation, human/computer interaction, robotics, artificial intelligence, and numerical analysis. Particularly after the changes in requirements over the last decade, the CS major is quite flexible and meets the needs of most students.
Computer Systems Engineering Computer Systems Engineering (CSE) is intended for students who wish to straddle the line between computer science and electrical engineering. While not a department in itself, CSE is an interdisciplinary program which includes faculty from both computer science and electrical engineering and leads to a BS in Engineering degree. The requirements for the major are similar to those of computer science, except that several of the CS theory and depth classes are replaced with electrical engineering classes in digital design and circuit analysis.
Electrical Engineering Some students interested in computer science-particularly those who are even more hardware oriented than those in CSE-major in electrical engineering, which has several undergraduate degree options that involve computer science. Outside of the hardware focus, the major difference between an EE degree and the others on this page is that the EE degree meets the ABET standards for engineering accreditation. While such accreditation is useful in other fields, it has no practical significance in computer science. It does, however, mean that you will have to take many more courses for the degree than you would in the standard CS or CSE tracks.
Mathematical and Computational Sciences Mathematical and Computational Science (Math/CS) presents an opportunity to combine aspects of computer science with classes in pure mathematics. The major requires a core set of classes which include the introductory computer science classes (such as CS103 and CS106) along with a variety of math classes. Beyond these core classes, students are allowed to pick an emphasis in either computer science or mathematics, after which they select appropriate course work to complete the unit requirements for the major.
Symbolic Systems Symbolic Systems is another interdisciplinary program which combines computer science, psychology, philosophy, and linguistics in order to better understand cognition in both humans and machines. Viewing people and computers as symbol processors, the Symbolic Systems program explores the ways computers and people reason, perceive, and act. Within the Symbolic Systems major, there is a core set of required classes; beyond this core, students choose an area of concentration in order to gain depth.

|