# Brown University
**Source**: https://bulletin.brown.edu/the-college/concentrations/comp/
**Parent**: https://bulletin.brown.edu/the-college/concentrations/
Computer science is now a critical tool for pursuing an ever-broadening range of topics, from outer space to the workings of the human mind. In most areas of science and in many liberal arts fields, cutting-edge work depends increasingly on computational approaches. The undergraduate program at Brown is designed to combine breadth in practical and theoretical computer science with depth in specialized areas. These areas range from traditional topics, such as analysis of algorithms, artificial intelligence, databases, distributed systems, graphics, mobile computing, networks, operating systems, programming languages, robotics and security, to novel areas including games and scientific visualization.
Our requirements are built on a core set of foundation courses*,* each representing an essential area within computer science. Concentrators choose the upper-level courses that align with their interests. Students may not use more than two CSCI 1970 courses to complete the requirements for the Sc.B. and one CSCI 1970 course for the A.B. requirements.
For up-to-date information on our concentration requirements please see https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-requirements-2024. Please see https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-handbook/ for additional information regarding our concentration requirements (including allowed substitutions and policies).
### Requirements for the Standard Track of the Sc.B. degree
### Requirements for the Standard Track of the Sc.B. degree
| | | |
| --- | --- | --- |
| Prerequisites (0-3 courses) | | |
| Calculus prerequisite: students must complete or place out of second semester calculus. | | |
| [MATH 0100](https://bulletin.brown.edu/search/?P=MATH%200100 "MATH 0100") | Single Variable Calculus, Part II | |
| or [MATH 0170](https://bulletin.brown.edu/search/?P=MATH%200170 "MATH 0170") | Single Variable Calculus, Part II (Accelerated) | |
| or [MATH 0190](https://bulletin.brown.edu/search/?P=MATH%200190 "MATH 0190") | Single Variable Calculus, Part II (Physics/Engineering) | |
| Concentration Requirements | | |
| Core-Computer Science: | | |
| Select one of the following introductory course Series: | | 2 |
| Series A | | |
| [CSCI 0150](https://bulletin.brown.edu/search/?P=CSCI%200150 "CSCI 0150") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Introduction to Object-Oriented Programming and Computer Science and Program Design with Data Structures and Algorithms | |
| Series B | | |
| [CSCI 0170](https://bulletin.brown.edu/search/?P=CSCI%200170 "CSCI 0170") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Computer Science: An Integrated Introduction and Program Design with Data Structures and Algorithms | |
| Series C | | |
| [CSCI 0190](https://bulletin.brown.edu/search/?P=CSCI%200190 "CSCI 0190") | Accelerated Introduction to Computer Science | |
| AND | | |
| an additional CS course numbered 200 or above not otherwise used to satisfy a concentration requirement; this course may be [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200"), a Foundations course, or a 1000-level course. | | |
| Series D 1 | | |
| [CSCI 0111](https://bulletin.brown.edu/search/?P=CSCI%200111 "CSCI 0111") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Computing Foundations: Data and Program Design with Data Structures and Algorithms | |
| Introductory Math Foundations | | 1 |
| [CSCI 0220](https://bulletin.brown.edu/search/?P=CSCI%200220 "CSCI 0220") | Introduction to Discrete Structures and Probability | |
| or [MATH 1530](https://bulletin.brown.edu/search/?P=MATH%201530 "MATH 1530") | Abstract Algebra | |
| Foundations Courses | | |
| ScB students must take one course from each foundation area. | | |
| Foundations Areas | | |
| a. Algorithms/Theory Foundations | | 1 |
| [CSCI 0500](https://bulletin.brown.edu/search/?P=CSCI%200500 "CSCI 0500") | Data Structures, Algorithms, and Intractability: An Introduction | |
| b. AI/Machine Learning/Data Science Foundations | | 1 |
| [CSCI 0410](https://bulletin.brown.edu/search/?P=CSCI%200410 "CSCI 0410") | Foundations of AI | |
| c. Systems Foundations, Concentration credit for only one of 300/330 | | 1 |
| [CSCI 0300](https://bulletin.brown.edu/search/?P=CSCI%200300 "CSCI 0300") | Fundamentals of Computer Systems | |
| or [CSCI 0330](https://bulletin.brown.edu/search/?P=CSCI%200330 "CSCI 0330") | Introduction to Computer Systems | |
| CSCI Electives | | 5 |
| Five CSCI courses at the 1000 level 2 | | |
| Four Additional Electives. These can include: | | 4 |
| [CSCI 0320](https://bulletin.brown.edu/search/?P=CSCI%200320 "CSCI 0320") | Introduction to Software Engineering | |
| 1000-level and 2000-level CSCI courses (no more than three non-technical courses as defined in concentration handbook) | | |
| Linear algebra ([MATH 0520](https://bulletin.brown.edu/search/?P=MATH%200520 "MATH 0520"), [MATH 0540](https://bulletin.brown.edu/search/?P=MATH%200540 "MATH 0540"), or [APMA 0260](https://bulletin.brown.edu/search/?P=APMA%200260 "APMA 0260")) | | |
| Up to three approved 1000-level courses outside of CS (see the concentration handbook for the current list. Note that concentration credit for only one [APMA 1650](https://bulletin.brown.edu/search/?P=APMA%201650 "APMA 1650"), [1655](https://bulletin.brown.edu/search/?P=APMA%201655 "APMA 1655")). | | |
| Capstone | | |
| A capstone taken in the senior year (from the list of approved capstone courses in the concentration handbook). The capstone may also be used to satisfy another requirement. | | |
| Total Credits | | 15 |
1
: Students wishing to go directly from [CSCI 0111](https://bulletin.brown.edu/search/?P=CSCI%200111 "CSCI 0111") to [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") will need to successfully complete additional exercises to receive an instructor override code for [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200").
2
: None of these can be CS non-technical courses. The list is in the concentration handbook. [<https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-handbook/>]
### Requirements for the Professional Track of the both the Sc. B. and A.B. degrees.
The requirements for all undergraduate professional tracks within concentrations are standardized and additional information can be found here:
<https://bulletin.brown.edu/undergradproftrack/>
### Honors
Honors in CS requires a two-semester research project (including writeup and presentation) during the last two semesters. In addition, honors candidates must have earned A's or S-with-distinction in 2/3 (rounding up) of the courses used towards the concentration, excluding introductory-sequence courses (CS courses numbered 0200 or below) and the calculus prerequisite. See the [department’s honors webpage](https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/honors/) for more details.
### Requirements for the Standard Track of the A.B. degree
| | | |
| --- | --- | --- |
| Concentration Requirements (10 courses) | | |
| Core Computer Science: | | |
| Select one of the following series: | | 2 |
| Series A | | |
| [CSCI 0150](https://bulletin.brown.edu/search/?P=CSCI%200150 "CSCI 0150") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Introduction to Object-Oriented Programming and Computer Science and Program Design with Data Structures and Algorithms | |
| Series B | | |
| [CSCI 0170](https://bulletin.brown.edu/search/?P=CSCI%200170 "CSCI 0170") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Computer Science: An Integrated Introduction and Program Design with Data Structures and Algorithms | |
| Series C | | |
| [CSCI 0190](https://bulletin.brown.edu/search/?P=CSCI%200190 "CSCI 0190") | Accelerated Introduction to Computer Science | |
| AND | | |
| An additional CS course 200 or above not otherwise used to satisfy a concentration requirement; this course may be [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200"), a Foundations course, or a 1000-level course. | | |
| Series D 1 | | |
| [CSCI 0111](https://bulletin.brown.edu/search/?P=CSCI%200111 "CSCI 0111") & [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") | Computing Foundations: Data and Program Design with Data Structures and Algorithms | |
| Introductory Math Foundations | | 1 |
| [CSCI 0220](https://bulletin.brown.edu/search/?P=CSCI%200220 "CSCI 0220") | Introduction to Discrete Structures and Probability | |
| Foundations Courses | | |
| AB students must take one course from each foundation area | | |
| Foundation Areas | | |
| a. Algorithms/Theory Foundations | | 1 |
| [CSCI 0500](https://bulletin.brown.edu/search/?P=CSCI%200500 "CSCI 0500") | Data Structures, Algorithms, and Intractability: An Introduction | |
| b. AI/Machine Learning/Data Science Foundations | | 1 |
| [CSCI 0410](https://bulletin.brown.edu/search/?P=CSCI%200410 "CSCI 0410") | Foundations of AI | |
| c. Systems Foundations | | 1 |
| [CSCI 0300](https://bulletin.brown.edu/search/?P=CSCI%200300 "CSCI 0300") | Fundamentals of Computer Systems | |
| or [CSCI 0320](https://bulletin.brown.edu/search/?P=CSCI%200320 "CSCI 0320") | Introduction to Software Engineering | |
| or [CSCI 0330](https://bulletin.brown.edu/search/?P=CSCI%200330 "CSCI 0330") | Introduction to Computer Systems | |
| CSCI Electives | | 2 |
| Two CSCI courses at the 1000 level. 2 | | |
| Two additional electives. These can include: | | 2 |
| [CSCI 0320](https://bulletin.brown.edu/search/?P=CSCI%200320 "CSCI 0320") | Introduction to Software Engineering (if not used towards System Foundations) | |
| 1000-level and 2000-level CSCI courses (at most one can be a non-technical course as defined in concentration handbook). | | |
| Linear algebra ([MATH 0520](https://bulletin.brown.edu/search/?P=MATH%200520 "MATH 0520"), [MATH 0540](https://bulletin.brown.edu/search/?P=MATH%200540 "MATH 0540"), or [APMA 0260](https://bulletin.brown.edu/search/?P=APMA%200260 "APMA 0260")) | | |
| One approved 1000-level course outside of CS (see the concentration handbook for the current list) | | |
| Capstone | | |
| A capstone taken in the senior year (from the list of approved capstone courses in the concentration handbook). The capstone may also be used to satisfy another requirement. | | |
| Total Credits | | 10 |
1
: Students wishing to go directly from [CSCI 0111](https://bulletin.brown.edu/search/?P=CSCI%200111 "CSCI 0111") to [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200") will need to successfully complete additional exercises to receive an instructor override code for [CSCI 0200](https://bulletin.brown.edu/search/?P=CSCI%200200 "CSCI 0200").
2
: Neither of these can be non-technical courses. The list is in the concentration handbook. [<https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-handbook/>]
### Requirements for the Professional Track of the both the Sc. B. and A.B. degrees.
The requirements for all undergraduate professional tracks within concentrations are standardized and additional information can be found here:
<https://bulletin.brown.edu/undergradproftrack/>
### Honors
Honors in CS requires a two-semester research project (including writeup and presentation) during the last two semesters. In addition, honors candidates must have earned A's or S-with-distinction in 2/3 (rounding up) of the courses used towards the concentration, excluding introductory-sequence courses (CS courses numbered 0200 or below) and the calculus prerequisite. See the [department’s honors webpage](https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/honors/) for more details.
---