Scientific Computing Concentration

Haverford’s concentration in scientific computing offers students the opportunity to explore the computational dimensions of the natural and social sciences.

Our program is committed to providing students with a solid foundation in the tools and concepts that drive the field as a whole, while enabling them to explore the computational aspects particular to their own major disciplines. Students pursuing the concentration typically use it to enhance their majors in chemistry, physics/astronomy, math, biology, computer science, or economics.

One of just a handful of similar programs offered at undergraduate institutions nationally, we are especially well-known for our emphasis on project-based experiences. Our students graduate equipped with the knowledge as well as the real-world experience that will enable them to succeed in graduate school and the job market.

Curriculum & Courses

Concentrators pursue a course of study that emphasizes general computing skills and the application of those skills to the specific scientific discipline in which they are majoring.

Students must take two classes that introduce them to computer science and programming broadly and one that familiarizes them with the use of computation within the discipline they are pursuing. They must also complete three computation-related courses from a list of discipline-specific electives.

  • Concentration

    The concentration consists of six credits that fall into four categories of requirements, denoted (A), (B), (C), (D). These are merely categorical labels, and we have no intention of expressing a time-ordered sequence. In fact, we anticipate that many students in fields other than computer science will take at least one course in the (B) and/or (C) requirements before discovering an interest in the concentration, and then take courses to satisfy the other requirements afterward.

    The six courses should be selected from the following list and approved by the student’s concentration advisor. Of the six credits required for the concentration, no more than two of the courses in (B) or (C) may count towards both the concentration and the student’s major. (Also, per College rules, students may not count among the 32 course credits required for graduation any course that substantially repeats the content of another course already completed, even though the course numbers may suggest an advancing sequence. For example, both introductory computer science courses, CMSC H105 and CMSC B110, cannot be taken for credit.)

    Categories of Requirements

    Category A: Year-long introduction to computer science and programming, that may consist of (CMSC H105 and CMSC H106) or (CMSC B110 and CMSC B206) or (CMSC H107).

    Category B: One course involving regular programming assignments and becoming familiar with discipline-specific programming idioms, chosen from the following list:

    Course List
    Code Title Credits
    ASTR H341 Advanced Topics: Observational Astronomy 1.0
    ASTR H344 Advanced Topics in Astrophysics: Cosmic Explosions,Advanced Topics: Cosmology and Extragalactic Astronomy 1.0
    CMSC H187 Scientific Computing-Discrete Problems 1.0
    CMSC H207 Data Science and Visualization 1.0
    CMSC H250 Computational Models in the Sciences 1.0
    CMSC H287 High Performance Scientific Computing 1.0
    CMSC/LING H325 Computational Linguistics 1.0
    CHEM H304 Statistical Thermodynamics and Kinetics 1.0
    CHEM H305 Quantum Chemistry 1.0
    MATH H222 Scientific Computing: Continuous Systems 1.0
    PHYS/ASTR H304 Computational Physics 1.0

    Category C: Three credits worth of electives in which real-world phenomena are investigated using computation, at a significant level as determined by the standards of that discipline. At least one of these three credits must come from a 300-level course or courses (not senior research). A normative route in the sciences would be for a student to take two taught courses on this list and apply one credit of senior research to this requirement. Alternatively, students whose senior work is not computational but who still wish to pursue the concentration can complete three taught courses from this list. These courses should be drawn from the following list:

    Course List
    Code Title Credits
    Any of the courses on the (B) list above
    BIOL H300 Advanced Lab in Biology Sem 1 1.0
    BIOL H301 Advanced Lab in Biology Sem 2 1.0
    BIOL H354 Computational Genomics 0.5
    BIOL H357 Advanced Topics in Protein Science 0.5
    CHEM H322 Advanced Physical Chemistry: Mathematical Modeling & Natural Processes 1.0
    CMSC H120 Visualizing Information 1.0
    CMSC H225 Fundamentals of Databases 1.0
    CMSC H235 Computational Models in the Sciences 1.0
    CMSC/LING H325 Computational Linguistics 1.0
    ECON H302 Intermediate Macroeconomic Analysis 1.0
    MATH H204/H210 Differential Equations 1 1.0
    MATH H210 Linear Optimization and Game Theory 1.0
    MATH H286 Applied Multivariate Statistical Analysis 1.0
    MATH H394 Advanced Topics in Computer Science and Discrete Math 1.0
    MATH H397 Advanced Topics in Applied Mathematics 1.0
    MATH S056 Modeling 1.0
    Up to 1 credit of senior research if the project has a significant focus on scientific computing 2 1.0

    1 In years in which it includes significant computer lab exercises involving modeling and/or simulation.
    2 e.g., ASTR H404, BIOL H40x, CHEM H361, CMSC H480, MATH H399, PHYS H41x

    Category D: Some part of completion of the concentration must include a project-based experience in which computation is applied to investigate a real-world phenomenon, e.g.,

    • A senior thesis/experience with significant scientific computing component, or
    • A summer research experience, or
    • A multi-week project for a course that may (or may not) be one of the three electives that fulfill requirement (C)

Associated Programs and Concentrations

Research & Outreach

The culmination of the concentration is our project-based experience, which can take the form of a senior thesis, a summer research experience, or a project completed in connection with a relevant course. These projects are enhanced by the close involvement of our faculty and enable concentrators to develop and execute sophisticated and highly innovative computational investigations within their area of study.

Keep Exploring

More Programs

Check out our other academic offerings:

Get in Touch

Join the Mailing List or search for events in your area.

You can find detailed instructions and information on the Application Instructions page. If you need to contact us directly, please send an email to

Contact Us