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

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 not otherwise used to satisfy a concentration requirement; this course may be CSCI 0200, an intermediate-level course, or an advanced course
Series D 1
Computing Foundations: Data
and Computing Foundations: Program Organization
and Program Design with Data Structures and Algorithms
Introductory Math Foundations 1
Introduction to Discrete Structures and Probability
Statistical Inference I
Advanced Introduction to Probability for Computing and Data Science
Abstract Algebra
Foundations Courses
ScB students must take one course from each foundation area.
Foundations Areas
a. Algorithms/Theory Foundations (Choose one)1
CSCI 0500
Data Structures, Algorithms, and Intractability: An Introduction
Theory of Computation
Probabilistic Methods in Computer Science
Design and Analysis of Algorithms
b. AI/Machine Learning/Data Science Foundations 1
Artificial Intelligence
Machine Learning
Computer Vision
Computational Linguistics
Deep Learning
Data Science
c. Systems Foundations1
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
Linear algebra (Math 0520 or 0540)
Approved 1000-level courses outside of CS (see the concentration handbook for the current list)
Up to three arts/humanities/policy courses
Capstone
A capstone taken in the senior year (from the list of approved capstone courses on the concentration handbook). The capstone may also be used to satisfy another requirement.
Total Credits15

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 not otherwise used to satisfy a concentration requirement; this course may be CSCI 0200, an intermediate-level course, or an advanced course
Series D 1
Computing Foundations: Data
and Computing Foundations: Program Organization
and Program Design with Data Structures and Algorithms
Introductory Math Foundations1
Introduction to Discrete Structures and Probability
Statistical Inference I
Advanced Introduction to Probability for Computing and Data Science
Foundations Courses
AB students must take one course from each foundation area
Foundation Areas
a. Algorithms/Theory Foundations (choose one)1
CSCI 0500
Data Structures, Algorithms, and Intractability: An Introduction
Theory of Computation
Probabilistic Methods in Computer Science
Design and Analysis of Algorithms
b. AI/Machine Learning/Data Science Foundations1
Artificial Intelligence
Machine Learning
Computer Vision
Computational Linguistics
Deep Learning
Data Science
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
Linear algebra (Math 0520 or Math 0540)
One approved 1000-level course outside of CS (see the concentration handbook for the current list)
One course from a defined list of arts/humanities/policy courses
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

Requirements for the Professional Track of the both the Sc. B. and A.B. degrees.

The requirements for the professional track include all those of the standard track, as well as the following:

Students must complete full-time professional experiences doing work that is related to their concentration programs, totaling 2-6 months, whereby each internship must be at least one month in duration in cases where students choose to do more than one internship experience. Such work is normally done at a company, but may also be at a university under the supervision of a faculty member. Internships that take place between the end of the fall and the start of the spring semesters cannot be used to fulfill this requirement.

On completion of each professional experience, the student must write and upload to ASK a reflective essay about the experience addressing the following prompts, to be approved by the student's concentration advisor:

  • Which courses were put to use in your summer's work? Which topics, in particular, were important?
  • In retrospect, which courses should you have taken before embarking on your summer experience? What are the topics from these courses that would have helped you over the summer if you had been more familiar with them?
  • Are there topics you should have been familiar with in preparation for your summer experience, but are not taught at Brown? What are these topics?
  • What did you learn from the experience that probably could not have been picked up from course work?
  • Is the sort of work you did over the summer something you would like to continue doing once you graduate? Explain.
  • Would you recommend your summer experience to other Brown students? Explain.

Honors

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.