Ph.D. Requirements
Requirements for the Ph.D. program can be found at https://cs.brown.edu/degrees/doctoral/reqs/reqs_phd.2015.pdf
The department of Computer Science offers two graduate degrees in computer science. The Master of Science (Sc.M.) degree for those who wish to improve their professional competence in computer science or to prepare for further graduate study, and the Doctor of Philosophy (Ph.D) degree.
For more information on admission, please visit the following website:
http://www.brown.edu/academics/gradschool/programs/computer-science
Requirements for the Masters Degree
The requirements for a Master’s of Science (ScM) degree in Computer Science consist of a basic component and an advanced component. All courses must be at the 1000-level or higher. Students must have a B average over all courses used to satisfy the requirements. All courses must be taken for a grade, and all grades must be C or better (S's may not be used). The courses in your program must be approved by the Director of Graduate Studies (Master’s) as well as by your advisor.
Basic Component
The basic component consists of six courses. None of these courses may be reading and research courses such as CSCI 2980.
The six courses are chosen as follows:
- Two must be CS courses that form a pathway (see the explanation of pathways at https://cs.brown.edu/degrees/undergrad/concentrating-in-cs/concentration-requirements-2020/pathways-for-undergraduate-and-masters-students/
- One must be a CS course in an area that’s not listed in the chosen pathway (it must not be a core course, must not be a grad course, and must not be a related course of the pathway). It must also not be a course taken at another institution.
- The three additional courses must be in CS or related and must be approved by your advisor or the director of graduate studies (Master’s). Getting this approval will require you to show that the courses are relevant to your CS interests. In general, the more non-CS courses you wish to take, the stronger your justification must be.
Advanced Component
The advanced component requires you to complete one of the following four 2-course options. No Reading and Research courses may be used in options 3 and 4. An “advanced course,” as used below, is a 2000-level CS course.
“Internships,” as used below, must be approved by the student’s advisor and are paid work in the area of the student’s Master’s studies and are explained further below.
The four options are:
- Complete a research project as two instances of CSCI 2980 supervised and approved by your research advisor.
- Complete a research project as two instances of CSCI 2980 supervised and approved by your research advisor, and complete an internship.
- Complete two advanced courses (not including CSCI 2980)
- Complete two advanced courses (not including CSCI 2980) and complete an internship.
Note that options 2 and 4 are known as the professional track.
Rationale
Students entering the Master’s program typically have one of two goals: they intend to pursue research careers in computer science and are preparing themselves to enter PhD programs, or they intend to become professional computer scientists and pursue careers in industry. In both cases, students should take collections of courses that not only give them strength in particular areas of computer science, but also include complementary areas that familiarize them with other ways of thinking about the field. For example, a student whose interests are in the practical aspects of designing computer systems should certainly take courses in this area, but should also be exposed to the mindset of theoretical computer science. In a rapidly changing discipline, there is much cross-fertilization among areas and students should have some experience in doing advanced work in areas not directly related to their own.
Students whose goals are research careers should become involved as quickly as possible with research groups as part of their Master’s studies, and demonstrate and learn about research by participating in it. The resulting research reports will serve to establish their suitability for entering PhD programs.
Students whose goals are to be professional computer scientists should have some professional experience as part of their preparation. A certain amount of basic coursework is required before a student can qualify for a pedagogically useful internship. Students with limited experience in computer science should take a few advanced computer science courses before embarking on an internship. Other students, particularly those whose undergraduate degrees were at Brown, will likely have had internship experiences while undergraduates. Internships provide insights for subsequent courses and project work at Brown. Students without such experiences are at a disadvantage with respect to their peers. Thus we strongly encourage students who have not had such experience to choose one of options 2 or 4, for which internships are required.
Note that these internships are not courses and the work is not evaluated as it would be for a course. Students’ advisors will assist them in choosing an internship, but it is up to students themselves to ensure that they get as much benefit as possible from their experiences. They must be able to take advantage of these experiences while completing their Master’s projects — we expect as high-quality work from them as we do from students who entered the program with prior internship experiences.
A Master's degree normally requires three to four semesters of full-time study, depending upon one's preparation.
CSCI 1010 | Theory of Computation | 1 |
CSCI 1040 | The Basics of Cryptographic Systems | 1 |
CSCI 1230 | Introduction to Computer Graphics * | 1 |
CSCI 1234 | Computer Graphics Lab | .5 |
CSCI 1250 | Introduction to Computer Animation | 1 |
CSCI 1260 | Compilers and Program Analysis | 1 |
CSCI 1270 | Database Management Systems | 1 |
CSCI 1280 | Intermediate 3D Computer Animation | 1 |
CSCI 1300 | User Interfaces and User Experience | 1 |
CSCI 1310 | Fundamentals of Computer Systems | 1 |
CSCI 1330 | Computer Systems | 1 |
CSCI 1340 | Introduction to Software Engineering | 1 |
CSCI 1360 | Human Factors in Cybersecurity | 1 |
CSCI 1380 | Distributed Computer Systems | 1 |
CSCI 1420 | Machine Learning | 1 |
CSCI 1430 | Computer Vision | 1 |
CSCI 1440 | Algorithmic Game Theory | 1 |
CSCI 1460 | Computational Linguistics | 1 |
CSCI 1470 | Deep Learning | 1 |
CSCI 1510 | Introduction to Cryptography and Computer Security | 1 |
CSCI 1515 | Applied Cryptography | 1 |
CSCI 1550 | Probabilistic Methods in Computer Science | 1 |
CSCI 1570 | Design and Analysis of Algorithms | 1 |
CSCI 1600 | Real-Time and Embedded Software | 1 |
CSCI 1620 | Computer Systems Security Lab | 0.5 |
CSCI 1650 | Software Security and Exploitation | 1 |
CSCI 1660 | Introduction to Computer Systems Security * | 1 |
CSCI 1670 | Operating Systems * | 1 |
CSCI 1680 | Computer Networks | 1 |
CSCI 1690 | Operating Systems Laboratory | 0.5 |
CSCI 1710 | Logic for Systems | 1 |
CSCI 1730 | Design and Implementation of Programming Languages | 1 |
CSCI 1760 | Multiprocessor Synchronization | 1 |
CSCI 1800 | Cybersecurity and International Relations | 1 |
CSCI 1805 | Computers, Freedom and Privacy | 1 |
CSCI 1810 | Computational Molecular Biology | 1 |
CSCI 1860 | Cybersecurity Law and Policy | 1 |
CSCI 1870 | Cybersecurity Ethics | 1 |
CSCI 1880 | Introduction to Computer Security | 1 |
CSCI 1950N | 2D Game Engines | 1 |
CSCI 1950U | Topics in 3D Game Engine Development | 1 |
CSCI 1951A | Data Science | 1 |
CSCI 1951C | Designing Humanity Centered Technology | 1 |
CSCI 1951L | Blockchains and Cryptocurrencies | 1 |
CSCI 1951T | Surveying VR Data Visualization Software for Research | 1 |
CSCI 1951X | Formal Proof and Verification | 1 |
CSCI 1951Z | Fairness in Automated Decision Making | 1 |
CSCI 1952Q | Algorithmic Aspects of Machine Learning | 1 |
CSCI 1952X | Contemporary Digital Policy and Politics | 1 |
CSCI 1952Y | Computer Architecture | 1 |
CSCI 1952Z | Robots as a Medium: Creating Art with Teams of Robots | 1 |
CSCI 2002 | Privacy and Personal Data Protection | 1 |
CSCI 2230 | Computer Graphics | 1 |
CSCI 2240 | Interactive Computer Graphics | 1 |
CSCI 2270 | Topics in Database Management | 1 |
CSCI 2340 | Software Engineering | 1 |
CSCI 2370 | Interdisciplinary Scientific Visualization | 1 |
CSCI 2390 | Privacy-Conscious Computer Systems | 1 |
CSCI 2440 | Advanced Algorithmic Game Theory | 1 |
CSCI 2470 | Deep Learning | 1 |
CSCI 2540 | Advanced Probabilistic Methods in Computer Science | 1 |
CSCI 2660 | Computer Systems Security | 1 |
CSCI 2670 | Operating Systems | 1 |
CSCI 2810 | Advanced Computational Molecular Biology | 1 |
CSCI 2840 | Advanced Algorithms in Computational Biology and Medical Bioinformatics | 1 |
CSCI 2951E | Topics in Computer Systems Security | 1 |
CSCI 2951I | Computer Vision for Graphics and Interaction | 1 |
CSCI 2951O | Foundations of Prescriptive Analytics | 1 |
CSCI 2951U | Topics in Software Security | 1 |
CSCI 2951X | Reintegrating AI | 1 |
CSCI 2952G | Deep Learning in Genomics | 1 |
CSCI 2952N | Advanced Topics in Deep Learning | 1 |
CSCI 2952O | A Practical Introduction to Advanced 3D Robot Perception | 1 |
CSCI 2952Q | Robust Algorithms for Machine Learning | 1 |
CSCI 2952R | Systems Transforming Systems | 1 |
CSCI 2952S | Topics in Cyber and Digital Policy | 1 |
CSCI 2999A | Cybersecurity Management Within Business, Government, and Non-Profit Organizations | 1 |
* Students may arrange with the instructor to receive 2000 level credit for additional coursework in CSCI 1230, 1660 or 1670 |
Concurrent ScB (NUS) and ScM in Computational Biology (Brown University)
The School of Computing at National University of Singapore and The Department of Computer Science at Brown have established a concurrent Bachelor’s and Master’s degree program in Computational Biology. After having first completed four years of under- graduate study at National University of Singapore (NUS), qualified students will attend Brown University to complete their fifth and final year of study in computational biology. After the successful completion of requirements set forth by both universities, the students will simultaneously earn both their Sc.B. and Sc.M. degrees. The Sc.B will be awarded by the National University of Singapore, while the Sc.M. is awarded by Brown University.