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 Principles of Computer Science 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 Data Structures and Program Development
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 Computability and Logic 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 Algorithms
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 others. 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 Computer Science Colloquium (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/colloquia. All majors welcome.
Prerequisites: Juniors and seniors only
Mathematics Courses
-
MATH055 HM Discrete Mathematics
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 Differential Equations
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 Electromagnetic Theory and Optics
Credits: 3
Instructors: Breznay, Gerbode, Tamayo
Offered: Fall
Description: An introduction to electricity and magnetism leading to Maxwell's electromagnetic 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 Quantum Physics
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 Modern Physics Laboratory
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 Mathematical and Computational Methods for Physicists
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 Quantum Information 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 Theoretical Mechanics
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 HM, PHYS024 HM, and (MATH082 HM or PHYS064 HM)
-
PHYS117 HM Statistical Mechanics and Thermodynamics
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 Electronics Laboratory 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 Physics Colloquium (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/colloquia.
Physics or Computer Science Elective
-
PHYS170X HM Computational Physics 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 HM, PHYS064 HM, and PHYS111 HM
Capstone
-
CSCI183 HM Computer Science Clinic I 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: CSCI121 HM and senior standing; or permission of the Computer Science Clinic director
OR
-
PHYS193 HM Physics Clinic 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 Senior Thesis in Physics (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.