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.
Requirements for the Standard Track of the Sc.B. degree
| Prerequisites (1 or 2 courses) | ||
| Two semesters of Calculus, for example: | ||
| Introductory Calculus, Part I and Introductory Calculus, Part II | ||
or MATH 0170 | Advanced Placement Calculus | |
| Concentration Requirements (15 courses) | ||
| Core-Computer Science: | ||
| Select one of the following introductory course Series: | 2 | |
Series A | ||
| Introduction to Object-Oriented Programming and Computer Science and Introduction to Algorithms and Data Structures | ||
Series B | ||
| Computer Science: An Integrated Introduction and Computer Science: An Integrated Introduction | ||
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 0180, an intermediate-level course, or an advanced course | ||
| Select three of the following intermediate-level courses, one of which must be math-oriented and one systems-oriented: | 3 | |
| Introduction to Discrete Structures and Probability (math) | ||
| Introduction to Software Engineering (systems) | ||
| Introduction to Computer Systems (systems) | ||
or CSCI 0310 | Introduction to Computer Systems | |
| Introduction to Probability and Computing (math) | ||
| Models of Computation (math) | ||
| Additional Computer Science Courses: 1 | ||
| Select one theoretical computer science course: 2 | 1 | |
| Introduction to Combinatorial Optimization | ||
| Introduction to Cryptography and Computer Security | ||
| Probability and Computing: Randomized Algorithms and Probabilistic Analysis | ||
| Design and Analysis of Algorithms | ||
| Introduction to Computational Complexity | ||
| Introduction to Multiprocessor Synchronization | ||
| Computational Topology | ||
| Introduction to Computational Geometry | ||
| Algorithmic Foundations of Computational Biology | ||
| Select one artificial intelligence course: 2 | 1 | |
| Introduction to Artificial Intelligence | ||
| Introduction to Computer Vision | ||
| Introduction to Computational Linguistics | ||
| Building Intelligent Robots | ||
| Introduction to Combinatorial Optimization | ||
| Information Retrieval and Web Search | ||
| Introduction to Machine Learning | ||
| Select one computer science systems course: 2 | 1 | |
| Introduction to Computer Graphics | ||
| Introductory Compiler Construction | ||
| Database Management Systems | ||
| Computational Photography | ||
| Creating Modern Web Applications | ||
CSCI 1340 - Innovating Game Development | ||
| Distributed Computer Systems | ||
| Introduction to Embedded and Real-Time Software | ||
| Building High-Performance Servers | ||
| Introduction to Computer Systems Security | ||
| Operating Systems | ||
| Computer Networks | ||
| Introduction to Programming Languages | ||
| Software System Design | ||
| Four additional advanced computer science courses | 4 | |
| A capstone course 3 | 1 | |
| Math: Two semesters of Mathematics or Applied Mathematics beyond MATH 0100/0170. One of these courses must be a linear algebra course | 2 | |
| Linear Algebra | ||
| Honors Linear Algebra | ||
| Directions: The Matrix in Computer Science | ||
| Total Credits | 15 | |
| 1 |
|
| 2 | No course may be used to satisfy more than one area requirement. |
| 3 | Capstone: a one-semester course, normally taken in the student's last undergraduate year, in which the student (or group of students) use a significant portion of their undergraduate education, broadly interpreted, in studying some current topic in depth, to produce a culminating artifact such as a paper or software project. |
Requirements for the Professional Track of the Sc.B. degree.
The requirements for the professional track include all those of the standard track, as well as the following:
Students must complete two two-to-four-month full-time professional experiences, doing work that is related to their concentration programs. Such work is normally done within an industrial organization, but may also be at a university under the supervision of a faculty member.
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.
Requirements for the Standard Track of the A.B. degree
| Prerequisites | ||
| Two semesters of Calculus, for example: | ||
| Introductory Calculus, Part I and Introductory Calculus, Part II | ||
| Advanced Placement Calculus | ||
| Concentration Requirements (9 courses) | ||
| Core Computer Science: | ||
| Select one of the following series: | 2 | |
Series A | ||
| Introduction to Object-Oriented Programming and Computer Science and Introduction to Algorithms and Data Structures | ||
Series B | ||
| Computer Science: An Integrated Introduction and Computer Science: An Integrated Introduction | ||
Series C | ||
| Accelerated Introduction to Computer Science | ||
and an additional CSCI course not otherwise used to satisfy a concentration requirement; (this course may be CSCI 0180, an intermediate-level CSCI course, or a 1000 level course) | ||
| Three intermediate courses from the following, of which one must be math-oriented and one must be systems-oriented: | 3 | |
| Introduction to Discrete Structures and Probability (math) | ||
| Introduction to Software Engineering (systems) | ||
| Introduction to Computer Systems (systems) | ||
or CSCI 0310 | Introduction to Computer Systems | |
| Introduction to Probability and Computing (math) | ||
| Models of Computation (math) | ||
| Directions: The Matrix in Computer Science (math) | ||
| Four additional courses in computer science or related areas are required. 1 | 4 | |
| Total Credits | 9 | |
| 1 | Three must be advanced courses (at the 1000-level or higher), the fourth may be either an intermediate-level course not used to satisfy a core requirement or an advanced course. These three courses must include a pair of courses forming a coherent theme. A list of pre-approved pairs may be found at the approved-pairs web page. You are not restricted to pairs on this list, but any pair not on the list must be approved by the director of undergraduate studies. |
Requirements for the Professional Track of the A.B. degree.
The requirements for the professional track include all those of the standard track, as well as the following:
Students must complete two two-to-four-month full-time professional experiences, doing work that is related to their concentration programs. Such work is normally done within an industrial organization, but may also be at a university under the supervision of a faculty member.
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.
