The following table summarizes the concentration requirements at a glance. See the Degree Programs page or the Computer Science handbook entry for more information about the different tracks within the computer science concentration. The courses page provides more detailed information of which courses count for which requirements. See also sample schedules for the first two years.
If you are ready to declare a CS concentration, please follow these steps. You can also see how to combine CS with other areas the forms of a secondary concentration, joint concentration, or other means.
|Category||Number of required courses||Basic Concentration||Honors Concentration|
|Mathematics||(Total: 2-4 courses)|
|Preparation||0-2||Math 1a and/or Math 1b as needed||same|
|Linear algebra||1||Math 21b/22b/23a/25a/55a, AM 21b/22a||same|
|Probability/statistics or Multivariable calculus||1||Stat 110 or Math 21a/22a/23b/23c/25b/55b, AM 21a||same|
|Basic Software||2||2 out of CS 50, CS 51, CS 61||same|
|Theory||2||CS 121 + CS 124 or other theory course||same|
|Technical Electives||4 (6 for honors)||4 courses from list that includes CS 20, CS 51-299, STAT 110, AM 106, AM 107, and others. (at most one CS 91r)||6 courses from same list|
|Breadth Requirement||2 tech electives must be CS with penultimate digit 3-8||3 tech electives must be CS with penultimate digit 3-8|
|Tutorial||At most one CS91r is tech elective||same|
|Thesis||Not required||Not required but recommended|