Before continuing, please read the Brown CS 2020-21 Plan, which may replace some of the information below.
PLEASE NOTE: If you started at Brown in or before Fall 2017, you're able to use the old requirements, but we strongly recommend that you use the current requirements, which have been redesigned to serve you better. At this time, requirements for the joint-programs have not changed.
The Department of Computer Science offers several A.B. and Sc.B. concentrations (a.k.a. majors) for undergraduates. The undergraduate program is designed to combine educational breadth in the areas of software, hardware, and theoretical computer science with a deeper understanding of specialized areas such as software system design, programming languages, computer architecture, artificial intelligence, the analysis of algorithms, and the theory of computation.
Becoming A CS Concentrator
To become a CS concentrator you must fill out the electronic application on ASK. At the time of declaration, you must also complete a program plan or contract indicating which courses you currently plan to take to complete the concentration (these can be changed later). For those declaring a pure CS concentration or a CS/Economics joint concentration, fill out the program plan in ASK (instructions and FAQ). For those declaring other joint concentrations or using the old concentration requirements, use the paper forms available further down on this page.
Make an appointment with your concentration advisor to go over your choices and discuss the programs.
All concentrators are required to meet with their concentration advisors at least once a year. This is normally done during a designated four-week period in the middle of the fall semester (the dates will be announced several weeks beforehand). Students who don't meet with their advisors during this period are subject to having their computer accounts frozen.
CS concentrators must complete an introductory sequence, take intermediate courses that provide a foundation for the upper-level courses, and complete several upper-level courses. Our requirements are built on a collection of pathways, each representing a well defined area within computer science. Concentrators interested in particular areas might choose the courses included in particular pathways. Conversely, concentrators who are unsure of their areas of interest but who have particularly enjoyed certain courses might choose pathways that include these courses.
Each pathway specifies a number of core courses, a collection of related courses (including 2000-level (grad) courses), and up to three mandatory intermediate courses. Completing a pathway entails taking at least one core course, another core or related course, and the mandatory intermediate courses. A.B. students must complete one pathway; Sc.B. students must complete two pathways. Additional 1000-level (or 2000-level) courses are required as needed to get to a total of nine courses for the A.B. and fifteen courses for the Sc.B.. In addition, Sc.B. students must complete a capstone course.
All CS and joint-CS concentrations, except for Computational Biology, have an optional Professional Track, which primarily supports international students working with CPT visa regulations.
Please note that you may only use the 2018 requirements if you started at Brown in 2018 or earlier and the 2017 requirements if you started at Brown in 2017 or earlier.
Please note that these are only for students using the 2017 Concentration Requirements. The following links are all Adobe Acrobat documents:
Computer Science A.B. (old requirements only, otherwise use ASK)
Computer Science Sc.B. (old requirements only, otherwise use ASK)
Choosing an Advisor
Every concentrator will have a concentration advisor, who is normally someone from the list at https://cs.brown.edu/<wbr/>degrees/undergrad/<wbr/>concentrating-in-cs/advisors. While it's not mandatory that you do so, we suggest that if there is a particular faculty member who you would like to be your advisor, that you contact them and ask if they are willing (most will most definitely be willing). If that person agrees, please email Prof. Doeppner (firstname.lastname@example.org) to let him know, as he makes the assignments. If you aren't sure who you would like to have as your advisor, feel free to leave that field blank in the ASK declaration and we will assign someone for you. Note that for the joint concentrations, if you would prefer an advisor in a particular department, you must request a particular person in that department. If they're not available, we'll assign someone else in that department.