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.
Prerequisites | ||
Three semesters of Calculus to the level of MATH 0180, MATH 0200, or MATH 0350 | 3 | |
MATH 0520 | Linear Algebra | 1 |
or MATH 0540 | Linear Algebra With Theory | |
or CSCI 0530 | Coding the Matrix: An Introduction to Linear Algebra for Computer Science | |
Core Courses | ||
MATH 1530 | Abstract Algebra | 1 |
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; a Foundations course, or a 1000-level CS course) | ||
Series D ^{1} | ||
Computing Foundations: Data and Computing Foundations: Program Organization and Program Design with Data Structures and Algorithms | ||
Foundations Courses: Two courses, touching two different Foundations areas: | 2 | |
a. Algorithms/Theory Foundations | ||
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 | ||
Artificial Intelligence | ||
or CSCI 1420 | Machine Learning | |
or CSCI 1430 | Computer Vision | |
or CSCI 1460 | Computational Linguistics | |
or CSCI 1470 | Deep Learning | |
or CSCI 1850 | Deep Learning in Genomics | |
or CSCI 1951R | Introduction to Robotics | |
c. Systems Foundations | ||
Fundamentals of Computer Systems | ||
or CSCI 0320 | Introduction to Software Engineering | |
or CSCI 0330 | Introduction to Computer Systems | |
Three 1000-level Mathematics courses | 3 | |
Three advanced courses in Computer Science which cannot include arts/policy/humanities courses. One of these can be an addtional Foundations course. ^{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 | |
Total Credits | 19 |
- ^{ 1 }
Students wishing to go directly from CSCI 0111 to CSCI 0200 (without CSCI 0112) will need to successfully complete additional exercises to receive an instructor override code for CSCI 0200. In 2020-21, these exercises will be offered within CSCI 0111. Students from prior CSCI 0111 offerings should contact the current CSCI 0111 instructor to arrange to do this work.
- ^{ 2 }
These must be CSCI courses at the 1000-level or higher. Two of these courses and the intermediate courses must satisfy one of the CS pathways (https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-requirements-2020/pathways-for-undergraduate-and-masters-students/. At most one arts, humanities, or social science CS course can be used for concentration credit (currently CSCI 1250, 1280, 1360, 1370, 1800, 1805, 1870, 1952B, 1952X, 2002, 2952S).
- ^{ 3 }
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.
- ^{ 4 }
These must be approved by a concentration advisor.
- ^{ 5 }
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
Course-based capstones are currently only available through CS. Approved capstone courses and instructions may be found here: https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-requirements-2020/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 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.