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-joint concentration, fill out the program plan in ASK (instructions and FAQ).
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.
If you have any questions and don't already have a CS advisor, contact Tom Doeppner or Kathi Fisler.
Concentration Overview
CS concentrators must complete an introductory sequence, take foundations courses that provide core content for the upper-level courses, and complete several upper-level courses.
Our 2020 requirements were 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.
Our 2024 requirements eliminated pathways (giving students more flexibility in choosing upper-level courses), and added required foundations courses in Systems, Artificial Intelligence, Theory/Algorithms, and Mathematics.
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.
Concentration Requirements
-
Concentration Requirements (2024) -- required for students starting in Fall 2024; allowed for students matriculated at Brown during Spring 2024
-
Concentration Requirements (2020) -- available to students who started in 2020-Spring 2024
-
Concentration Requirements (2018) -- available to students who started before Fall 2020
-
Concentration Requirements (2017) -- available to students who started in 2017 or earlier
Choosing an Advisor
Every concentrator will have a concentration advisor, who is normally someone from the list of current advisors. Advisors who are still accepting advisees appear in the drop-down in ASK (if you are doing research with a faculty member who does not appear available, they will often agree to advise you--just ask them!). 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 be). If that person agrees, please forward the approval email to Prof. Fisler (kfisler@brown.edu), who 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.