Program Requirements and Opportunities
Published annually, the Course Catalog sets out the requirements of the academic programs--the majors, minors, and concentrations. Each Bryn Mawr student must declare a major before the end of the sophomore year. Students may also declare a minor or a concentration, but neither is required for the A.B. degree. Students must comply with the requirements published in the Course Catalog at the time when they declare the major, minor and/or concentration.
The Course Catalog also sets out the College requirements. Students must comply with the College requirements published at the time they enter Bryn Mawr College.
Students may complete a major or minor in Computer Science or a minor in Computational Methods.
Computer Science is about the science of algorithms (theory, analysis, design and implementation) as well the design and implementation of computer systems. As such it is an interdisciplinary field with roots in mathematics and engineering and applications in many other academic disciplines. The department at Bryn Mawr is founded on the belief that Computer Science should transcend from being a subfield of mathematics and engineering and play a broader role in all forms of human inquiry.
The Computer Science Department is supported jointly by faculty at both Bryn Mawr and Haverford Colleges. The department welcomes students who wish to pursue a major in Computer Science. Additionally, the department also offers a minor in Computer Science. The department also strives to facilitate double majors and evolving interdisciplinary majors. Students can further specialize their majors by selecting elective courses that focus on specific disciplinary tracks or pathways within the discipline.
Both, the major and the minor, emphasize foundations and basic principles of information science with the goal of providing students with skills that transcend short-term trends in computer hardware and software.
Major in Computer Science
Students are encouraged to prepare a major course plan in consultation with their academic adviser in Computer Science. The requirements for a major in computer science are:
Three introductory courses:
- CMSC B109/110 (or H105): Introduction to Computing, or CMSC B113: Computer Science I, or BIOL B115: Computing through Biology
- CMSC B151/206 (or H106 or H107): Data Structures
- CMSC/MATH B/H231: Discrete Mathematics
Four core courses:
- Any two of
- CMSC B223/B246: Systems Programming
- CMSC B/H240: Principles of Computer Organization
- CMSC B/H245: Principles of Programming Languages
- Any one of the two designated Writing Intensive courses
- CMSC B337/B330: Algorithms: Design & Practice
- CMSC B340: Analysis of Algorithms
- Any one of the designated Systems Courses
- CMSC B355/H356: Operating Systems
- CMSC B/H350: Compiler Design
- CMSC B353: Software Engineering
Four Electives in Computer Science
- At least three must be 300-level or above
Senior Project/Thesis Capstone Experience
- CMSC B399: Senior Conference
The Major requires students to take a total of eleven courses and CMSC 399 Senior Conference. If a student places out of a course (for instance an introductory course), another CS course must be substituted in its place from the Electives category.
Note that CMSC H340 does not fulfill the writing requirement and cannot be used in place of CMSC B340. All requirements must be completed with merit grades.
Students can specialize in specific disciplinary tracks or pathways by carefully choosing their elective courses. Such pathways can enable specialization in areas such as: computational theory, computer systems, computer graphics, computational geometry, artificial intelligence, information visualization, computational linguistics, etc. Students should ensure that they have completed at least three courses in computer science by the end of their sophomore year (we highly recommend CMSC 109/110/113, 151/206 and 231).
Minor in Computer Science
Students in any major are encouraged to complete a minor in computer science. Completing a minor in computer science enables students to pursue graduate studies in computer science, in addition to their own major. The requirements for a minor in computer science at Bryn Mawr are (Haverford equivalents are not listed, please see above): CMSC 109/110/113 or BIOL 115, CMSC 151/206 and CMSC 231, any two of CMSC 223, 240, 245, 246, 330, 337, 340 or 345, and one elective chosen from any course in computer science, approved by the student's adviser in computer science. All requirements must be completed with merit grades. The Minor requires students to take a total of six courses. If a student places out of a course (for instance an introductory course), another CS course must be substituted in its place from the Electives category.
Students can declare a minor at the end of their sophomore year or soon after. Students should prepare a course plan and have it approved by their faculty adviser.
Minor in Computational Methods
[Note: As of Spring 2021 this Minor has been deprecated in favor of the Minor in Data Science. Please consult the Data Science website.]
This minor is no longer available for students in class of 2024 and beyond. we encourage students in class of 2023 who wish to complete a Minor in Computational Methods to consult with their advisor or consider pursuing the Minor in Data Science.