You're logged in as |

Computer Science

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.
Single Variable Calculus, Part II
Single Variable Calculus, Part II (Accelerated)
Single Variable Calculus, Part II (Physics/Engineering)
Concentration Requirements
Core-Computer Science:
Select one of the following introductory course Series:2
Series A
Introduction to Object-Oriented Programming and Computer Science
and Program Design with Data Structures and Algorithms
Series B
Computer Science: An Integrated Introduction
and Program Design with Data Structures and Algorithms
Series C
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, a Foundations course, or a 1000-level course.
Series D 1
Computing Foundations: Data
and Program Design with Data Structures and Algorithms
Introductory Math Foundations 1
Introduction to Discrete Structures and Probability
Abstract Algebra
Foundations Courses
ScB students must take one course from each foundation area.
Foundations Areas
a. Algorithms/Theory Foundations 1
Data Structures, Algorithms, and Intractability: An Introduction
b. AI/Machine Learning/Data Science Foundations1
Foundations of AI
c. Systems Foundations, Concentration credit for only one of 300/3301
Fundamentals of Computer Systems
Introduction to Computer Systems
CSCI Electives 5
Five CSCI courses at the 1000 level 2
Four Additional Electives. These can include:4
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, MATH 0540, or 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, 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 Credits15
1

Students wishing to go directly from CSCI 0111 to CSCI 0200 will need to successfully complete additional exercises to receive an instructor override code for 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 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
Introduction to Object-Oriented Programming and Computer Science
and Program Design with Data Structures and Algorithms
Series B
Computer Science: An Integrated Introduction
and Program Design with Data Structures and Algorithms
Series C
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, a Foundations course, or a 1000-level course.
Series D 1
Computing Foundations: Data
and Program Design with Data Structures and Algorithms
Introductory Math Foundations1
Introduction to Discrete Structures and Probability
Foundations Courses
AB students must take one course from each foundation area
Foundation Areas
a. Algorithms/Theory Foundations1
Data Structures, Algorithms, and Intractability: An Introduction
b. AI/Machine Learning/Data Science Foundations1
Foundations of AI
c. Systems Foundations1
Fundamentals of Computer Systems
Introduction to Software Engineering
Introduction to Computer Systems
CSCI Electives2
Two CSCI courses at the 1000 level. 2
Two additional electives. These can include: 2
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, MATH 0540, or 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 Credits10
1

Students wishing to go directly from CSCI 0111 to CSCI 0200 will need to successfully complete additional exercises to receive an instructor override code for 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 for more details.