Joint Major in Computer Science and Physics

The Computer Science and Physics departments cooperatively administer the Joint Major in Computer Science and Physics, and students will have faculty advisors from both departments. The Joint CS-Physics major will serve students whose interests lie at the intersection of physics and computer science. Students will learn about advances in quantum computing and information science and how computational tools such as high-performance computing or machine learning enable discoveries in complex physical systems. 

The Joint Computer Science and Physics degree program has various components: the kernel courses in computer science and physics; more advanced courses in computer science and physics; a Clinic or Physics thesis; and electives. Each of these components is described as follows.

Computer Science Courses

  • CSCI060 HM or CSCI042 HM - Principles and Practice of Computer Science 

    Credits: 3

    Instructors: Boerkoel, Breeden, Dodds, Padmanabhan, Stone, Talvitie, Trushkowsky, Wiedermann, Wu

    Offered: Fall and spring

    Description: Introduction to principles of computer science: Information structures, functional programming, object-oriented programming, grammars, logic, correctness, algorithms, complexity analysis, and theoretical limitations. Those who have completed CSCI042 HM cannot take CSCI060 HM.

    Prerequisites: CSCI005 HM or CSCI005GR HM 

  • CSCI070 HM

    Credits: 3

    Instructors: Breeden, Medero, O'Neill, Stone, Talvitie, Trushkowsky

    Offered: Fall and spring

    Description: Abstract data types including priority queues and dynamic dictionaries and efficient data structures for these data types, including heaps, self-balancing trees, and hash tables. Analysis of data structures including worst-case, average-case and amortized analysis. Storage allocation and reclamation. Secondary storage considerations. Extensive practice building programs for a variety of applications.

    Prerequisites: (CSCI060 HM or CSCI042 HM), and at least one mathematics course at the level of calculus or higher; MATH055 HM recommended

  • CSCI081 HM or CSCI105 HM - Computer Systems    

    Credits: 3

    Instructors: Bang, Monta​ñez, Stone

    Offered: Fall and spring

    Description: An introduction to some of the mathematical foundations of computer science, particularly logic, automata, and computability theory. Develops skill in constructing and writing proofs, and demonstrates the applications of the aforementioned areas to problems of practical significance.

    Prerequisites: (MATH055 HM or MATH055  CM/PZ/SC), and (CSCI060 HM or CSCI042 HM), and (MATH019 HM or MATH032 CM/PO/PZ/SC or MATH032S PO or MATH067  PO), and (MATH073 HM or MATH060 CM/PO/PZ/SC)

  • CSCI140 HM

    Credits: 3

    Instructors: Boerkoel, Monta​ñez, Schofield, Stone

    Offered: Fall and spring

    Description: Algorithm design, analysis, and correctness. Design techniques including divide-and-conquer and dynamic programming. Analysis techniques including solutions to recurrence relations and amortization. Correctness techniques including invariants and inductive proofs. Applications including sorting and searching, graph theoretic problems such as shortest path and network flow, and topics selected from arithmetic circuits, parallel algorithms, computational geometry, and oth­ers. An introduction to computational complexity, NP-completeness, and approximation algorithms. Proficiency with programming is expected as some assignments require algorithm implementation.

    Prerequisites: ((CSCI070 HM and (MATH055 HM/CM/PZ/SC) and (MATH019 HM or MATH032  CM/PO/PZ/SC or MATH032S PO or MATH067 PO) and (MATH073 HM or MATH060  CM/PO/PZ/SC or MATH060C CM)) or ((CSCI060 HM or CSCI042 HM) and MATH131 HM)) or (CSCI062 PO and CSCI054  PO). CSCI081 HM is recommended.

  • One 3.0 credit Computer Science Elective (note: if a student takes CSCI081 HM then CSCI105 HM can be an elective, or vice versa; CS electives other than CS81 must be numbered 100 or above)
  • CSCI195 HM (taken twice)

    Credit: 0.5

    Instructor: Staff

    Offered: Fall and spring

    Description: Oral presentations and discussions of selected topics, including recent developments in computer science. Participants include computer science majors, Clinic participants, faculty members, and visiting speakers. No more than 2.0 credits can be earned for departmental seminars/col­loquia. All majors welcome.

    Prerequisites: Juniors and seniors only

Mathematics Courses

  • MATH055 HM

    Credits: 3

    Instructors: Benjamin, Bernoff, Lindo, Martonosi, Orrison, Su

    Offered: Fall and spring

    Description: Topics include combinatorics (clever ways of counting things), number theory, and graph theory with an emphasis on creative problem solving and learning to read and write rigorous proofs. Possible applications include probability, analysis of algorithms, and cryptography.

    Corequisites: MATH073 HM 

  • MATH082 HM

    Credits: 3

    Instructor: Staff

    Offered: Fall

    Description: Modeling physical systems, first-order ordinary differential equations, existence, uniqueness, and long-term behavior of solutions; bifurcations; approximate solutions; second-order ordinary differential equations and their properties, applications; first-order systems of ordinary differential equations. Applications to linear systems of ordinary differential equations, matrix exponential; nonlinear systems of differential equations; equilibrium points and their stability. Additional topics.

    Prerequisites: (MATH019 HM and MATH073 HM) or equivalent 

Physics Courses

  • PHYS051 HM

    Credits: 3

    Instructors: Breznay, Gerbode, Tamayo

    Offered: Fall

    Description: An introduction to electricity and magnetism leading to Maxwell's elec­tromagnetic equations in differential and integral form. Selected topics in classical and quantum optics.

    Prerequisites: PHYS023 HM and PHYS024 HM 

    Corequisites: MATH082 HM or MATH056 HM 

  • PHYS052 HM

    Credits: 3

    Instructor: Staff

    Offered: Spring

    Description: The development and formulation of quantum mechanics, and the application of quantum mechanics to topics in atomic, solid state, nuclear, and particle physics.

    Prerequisites: PHYS051 HM and MATH082 HM 

  • PHYS054 HM

    Credit: 1

    Instructors: Eckert, Staff

    Offered: Spring

    Description: Classical experiments of modern physics, including thermal radiation and Rutherford scattering. Nuclear physics experiments, including alpha, beta and gamma absorption, and gamma spectra by pulse height analysis. Analysis of the buildup and decay of radioactive nuclei.

    Corequisites: PHYS050 HM and PHYS052 HM 

  • PHYS064 HM

    Credits: 3

    Instructor: Staff

    Offered: Spring

    Description: This course combines mathematical and computational methods that are useful for studying physical systems. Topics include: Linear algebra, Hilbert spaces, the eigenvalue problem and numerical algorithms for solving problems in linear algebra, including various modes of decomposition; Fourier series and transforms, convolution, correlation and numerical methods using fast Fourier transforms; computer simulation methods based on integrating coupled differential equations and also using pseudorandom numbers, including Monte Carlo methods; partial differential equations, separation of variables, Laplace and Poisson equations in various dimensions, the wave equation, and numerical approaches to solution.

    Prerequisites: (CSCI005 HM or CSCI042 HM) and MATH082 HM 

  • PHYS084 HM or PHYS116 HM - Quantum Mechanics 

    Credits: 3

    Instructor: Lynn

    Offered: Spring, alternate years

    Description: Quantum computation and communication. Fundamentals of discrete-state quantum mechanics as appropriate for quantum information science. Possible topics include universal logic gates for quantum computing, quantum computing algorithms, quantum error correction, quantum cryptography and communication, adiabatic quantum computing, and hardware platforms for quantum computation and communication.

    Prerequisites: PHYS024 HM, (CSCI005 HM or CSCI005GR HM or CSCI042 HM), and MATH073 HM 

  • PHYS111 HM

    Credits: 3

    Instructor: Tamayo

    Offered: Fall

    Description: The application of mathematical methods to the study of particles and of systems of particles; Newton, Lagrange, and Hamilton equations of motion; conservation theorems; central force motion, collisions, damped oscillators, rigid body dynamics, systems with constraints, variational methods.

    Prerequisites: PHYS023 HMPHYS024 HM, and (MATH082 HM or PHYS064 HM

  • PHYS117 HM

    Credits: 3

    Instructors: Esin, Saeta

    Description: Classical and quantum statistical mechanics, including their connection with thermodynamics. Kinetic theory of gases. Applications of these concepts to various physical systems.

    Prerequisites: PHYS052 HM 

  • PHYS133 HM or PHYS134 HM - Optics Laboratory 

    Credit: 1

    Instructors: Gallicchio, Staff

    Offered: Fall

    Description: An intermediate laboratory in electronics involving the construction and analysis of rectifiers, filters, transistor and operational amplifier circuits.

    Prerequisites: PHYS054 HM 

  • PHYS195 HM (taken twice)

    Credit: 0.5

    Instructor: Staff

    Offered: Fall and spring

    Description: Oral presentations and discussions of selected topics, including recent developments. Participants include physics majors, faculty members, and visiting speakers. Required for all junior and senior physics majors. No more than 2.0 credits can be earned for departmental seminars/col­loquia. 

Physics or Computer Science Elective

  • PHYS170X HM or a 3.0 credit Computer Science elective (chosen in consultation with the major advisor)

    Credits: 3

    Instructor: Sahakian

    Description: A modern exposition to the subject of computational physics, drawing examples from various disciplines of physics and the sciences. The first part of this course covers classic algorithms for matrix manipulations, integration and exact numerical differentiation, finding roots and minimization, generating random numbers, Fourier transforms and spectral analysis, optimizing linear and non-linear systems, and Monte Carlo simulations. The second part of the course explores regular and stochastic differential equations, meta-programming and analytical techniques, machine learning techniques such as regressions and classifications, and neural networks. Students will use the Julia programming language throughout, but also explore analytical techniques using Mathematica. (Students may not take both PHYS170  HM and PHYS170X HM.)

    Prerequisites: PHYS052 HMPHYS064 HM, and PHYS111 HM 

Capstone

  • CSCI183 HM and CSCI184 HM - Computer Science Clinic II 

    Credits: 3

    Instructor: Staff

    Offered: Fall

    Description: The Clinic Program brings together teams of students to work on a research problem sponsored by business, industry, or government. Teams work closely with a faculty advisor and a liaison provided by the sponsoring organization to solve complex real-world problems. Students are expected to present their work orally and to produce a final report conforming to professional publication standards. CSCI183  HM and CSCI184 HM must be taken consecutively in the same academic year to count toward the major.

    Prerequisites: CSCI123 HM  and senior standing; or permission of the Computer Science Clinic director

OR

  • PHYS193 HM and PHYS194 HM - Physics Clinic 

    Credits: 3

    Instructor: Staff

    Offered: Fall

    Description: Team projects in applied physics, with corporate affiliation.

    Prerequisites: Seniors only

OR

  • PHYS199 HM (taken twice, 6.0 credits total)

    Credits: 1-3

    Instructor: Staff

    Offered: Fall and spring

    Description: Original experimental or theoretical investigations in physics undertaken in consultation with a faculty member. Projects may be initiated by the student or by a faculty member. Present faculty research areas include astrophysics, biophysics, optics, solid-state and low-temperature physics, general relativity, quantum mechanics, particle physics, geophysics, and soft matter physics. Students are responsible for an oral presentation on progress and plans in the first half of the thesis research.

    Prerequisites: Permission of department. Senior standing.