Big Data, Modeling and Computational Physics

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—and this concentration prepares our physics majors to join in the fun.

Required Courses for the Computational Physics Concentration
In addition to the required courses listed near the bottom of this page that all physics majors must take, two other physics courses numbered above PHY224 are required for this concentration. Furthermore,16 credits in mathematics and computer science from among the following courses are required.

PHY313/MAT313
Mathematical Methods in Physics II
CPS221 Software Systems
CPS222
Data Structures and Algorithms
CPS311
Computer Organization
CPS323 Programming Languages
MAT231
Transition to Higher Mathematics
MAT232
Linear Algebra
MAT318
Probability
MAT319
Statistics
MAT335
Algebraic Structures
MAT342/CPS342
Numerical Analysis
MAT353
Real Analysis


Required Courses for All Physics Majors

PHY121, 122 
Introductory Physics I, II
PHY130 First-Year Physics Seminar
PHY214/MAT214    Mathematical Methods in Physics I
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: (computational physics students should normally choose CPS121,122)
CHE111, 112
Principles of Chemistry I, II
CPS121
Introduction to Programming
CPS122
Object-Oriented Software Development