Students may opt to pursue an interdisciplinary Bachelor of Science degree in Math-Computer Science, a concentration administered cooperatively between the mathematics and computer science departments. Course requirements include math- and systems-oriented computer science courses, as well as computational courses in applied math. Students must identify a series of electives that cohere around a common theme. As with other concentrations offered by the Computer Science department, students have the option to pursue the professional track of the ScB program in Mathematics-Computer Science.
Requirements for the Standard Track of the Sc.B. degree.
|Three semesters of Calculus to the level of MATH 0180, MATH 0200, or MATH 0350||3|
|MATH 0520||Linear Algebra||1|
|or MATH 0540||Honors Linear Algebra|
|or CSCI 0530||Coding the Matrix: An Introduction to Linear Algebra for Computer Science|
|MATH 1530||Abstract Algebra||1|
|Select one of the following series:||2|
|Introduction to Object-Oriented Programming and Computer Science|
and Introduction to Algorithms and Data Structures
|Computer Science: An Integrated Introduction|
and Computer Science: An Integrated Introduction
|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 CS course, or a 1000-level CS course)|
Series D 1
|Computing Foundations: Data|
and Computing Foundations: Program Organization
and Computer Science: An Integrated Introduction
|CSCI 0320||Introduction to Software Engineering||1|
|or CSCI 0300||Fundamentals of Computer Systems|
|or CSCI 0330||Introduction to Computer Systems|
|CSCI 0220||Introduction to Discrete Structures and Probability||1|
|or CSCI 1010||Theory of Computation|
|Three 1000-level Mathematics courses||3|
|Three advanced courses in Computer Science 2,3||3|
|Three additional courses different from any of the above chosen from Mathematics, Computer Science, Applied Mathematics, or related areas 4||3|
|A capstone course in Computer Science or Mathematics 5||1|
Students wishing to go directly from CSCI 0111 to CSCI 0180 (without CSCI 0112) will need to successfully complete additional exercises to receive an instructor override code for CSCI 0180. In 2020-21, these exercises will be offered within CSCI 0111. Students from prior CSCI 0111 offerings should contact Professor Fisler to arrange to do this work.
These courses must be at the 1000-level or higher. Two of these courses and the intermediate courses must satisfy one of the CS pathways.
Note: CSCI 1010 may be used either as a math-oriented intermediate course or as an advanced course. CSCI 1010 was formerly known as CSCI 510: they are the same course and hence only one may be taken for credit. CSCI 1450 was formerly known as CSCI 450: they are the same course and hence only one may be taken for credit. Applied Math 1650 or 1655 may be used in place of CSCI 1450 in CS pathway requirements. However, concentration credit will be given for only one of Applied Math 1650, 1655, and CSCI 1450.
These must be approved by a concentration advisor.
A one-semester course, 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. The title and abstract of the artifact, along with the student's and faculty-sponsor's names, will be placed in the CS website. The inclusion of a relevant image or system diagram is strongly encouraged. The complete text of the best artifacts of each class will be featured on the CS website. A senior thesis, which involves two semesters of work, may count as a capstone.
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.