students in class

Big Data, Modeling and Computational Physics

The computational physics concentration is part of the physics major.

The computational physics concentration is designed for students who feel called to the intersection of physics and computer science. The area of intersection covers a broad range of interests that include problems in applied physics, such as video game design or modeling of natural and man-made phenomena (such as climate and stock markets and traffic and biological processes). At the other end of the spectrum sit fascinating theoretical problems, such as simulation of galaxy formation and dark matter distribution in the universe or phase transitions in strongly correlated Fermi systems. Physicists lead the charge in understanding all these phenomena and more—this concentration prepares our physics majors to join in the fun.

In addition to the required courses listed near the bottom of this page that all physics majors must take, the following three courses are required for the professional physics concentration: 

PHY130  First-Year Physics Seminar
CPS121 Introduction to Programming
CPS122 Object-Oriented Software Development

Furthermore,16 credits in mathematics and computer science from among the following courses are required.

MAT232  Linear Algebra
MAT318  Probability
MAT319  Statistics
MAT342/CPS342  Numerical Analysis
PHY313/MAT313 Mathematical Methods in Physcis II
CPS221 Software Systems
CPS222 Data Structures and Algorithms
CPS311 Computer Organization
CPS343 Parallel and High-Performance Computing
CPS373 Computer Graphics


PHY121, 122  Introductory Physics I, II
PHY214/MAT214  Mathematical Methods in Physics I
PHY225 Electronics
PHY236 Modern Physics
PHY314 Mechanics 
PHY339  Electricity and Magnetism I
PHY391, 392 Junior Seminar I, II
PHY471, 472 Research I, II
PHY491, 492  Senior Seminar I, II
MAT141, 142 Calculus I, II
MAT223 Calculus III
MAT225 Differential Equations 
Two of the following courses:
CHE111, 112 Principles of Chemistry I, II
CPS121 Introduction to Programming
CPS122 Object-Oriented Software Development