For information about Web accessibility, please contact the Webmaster at

Haverford College

Computer Science

header image

Academic Programs : Computer Science Concentration with Physics Major


One of the distinctive features of Haverford's curriculum is that students may elect to concentrate in areas related to their major discipline. Computer Science Concentrations are available to physics and math majors. Peter Love ( is involved in directing the concentration for Physics majors and should be consulted by interested students.

Concentrations are grounded in two or more majors and function to expose students to fields related to their major in substantial ways. The physics computer science concentration focuses on the hardware aspects of computer science and their basis in physics and electronics, as well as the use of the computer as a tool for physicists. The mathematics concentration is centered more on the logical and mathematical underpinnings of the field.

Although most upper-level Physics courses include significant computer work, a Physics major might wish to supplement his or her program with additional formal work in Computer Science for various reasons. The physical laws that underlie the operation of a modern electronic computer are interesting in their own right. The CS concentration for Physics majors includes a study of these laws.

Furthermore, the computer is ubiquitous in physics research and teaching as presently practiced: it greatly facilitates the work of the experimenter; in the hands of the theorist it is a marvelous tool for simulating physical systems. In physics pedagogy there is much interest in using computers to make physics learning more experiential and in teaching sophisticated problem solving skills. The CS concentration for physics majors increases the effectiveness with which this tool can be used by providing an introduction to computer science, programming, and the use of computers in the lab. It also provides preparation for careers with a focus in computation or computer science.

Course Requirements

  • CMSC105 (Introduction to Computer Science) and CMSC106 (Data Structures): A year-long sequence of courses for technically oriented students, emphasizing the mathematical aspects of the discipline via fundamental data structures, analytical problem-solving skills, and programming (presently in Python)
  • Physics 316 (Electronic Instrumentation and Computers): Advanced electronics in the context of experimental physics
  • EITHER CMSC/Physics 304 (Computational Physics); OR Physics 322 (Solid State Physics): Theory of semiconductors and semiconductor devices in a course which introduces the structural and electronic properties of solids more generally
  • Two more 200-level or higher computer science courses at Haverford or Bryn Mawr, subject to your advisor's approval. Elective courses of particular interest to physics students would be:
    • CMSC187 (Computing Across the Sciences)
    • CMSC212 (Computer Graphics)
    • Math 222 (Introduction to Scientific Computing)
    • CMSC235 (Information Theory)
    • CMSC240 (Principles of Computer Organization)
    • CMSC392 (High Performance Scientific Computing)
    • CMSC393 (Physics of Computation)

Some students wonder whether it is feasible to fit the concentration into an already demanding Physics program.  Note, however, that since Physics 322, Physics 316 and Math 222 may be counted toward the six upper-level courses required for the Physics major, only three additional courses are required for the CS concentration.  (In the case of Math 222 you would have to write a short letter to the department explaining why its inclusion strengthens your physics program.)  If you are interested in the CS concentration, you should decide which courses to take as soon as possible (after a discussion with your advisor and Peter Love), to avoid scheduling problems in the future.

Physics majors can also elect to follow the Minor in Computer Science.