PHYS 409:  Special Topics – Computational Physics
Spring 2019

Lectures:  10:20-11:55am TTh,  Mainiero 60

Recitation Sections:  1:30-3:30pm Tuesdays and Thursdays, Mainiero 60

Instructor:  David Chappell, Ph.D.

Office:  MA 64

Phone:  909-448-4598

email:  dchappell at

course webpage:

Course Schedule
Course Description

Computational methods are used throughout all areas of physics, from solving systems of differential equations to analyzing experimental data. They are used by theorists, experimentalists, applied physicists and engineers. In this course we will begin with a brief overview of programming methods including loops, conditional statements, functions, plotting and methods of optimizing computational speed. We will then explore a variety of computational techniques often used in physics including methods of solving systems of linear equations, root finding, solving ordinary differential equations (ODEs), partial differential equations (PDEs), Fourier transforms and Monte-carlo methods. We will use MATLAB exclusively during this course.


PHYS 203, PHYS 204, MATH 202

Required Text

Introduction to Matlab, by R.L. Spencer and M. Ware, BYU, 2018. Free download available here.

Supplemental Texts
  • S. Attaway, Matlab: A practical introduction to programming and problem solving, 2nd ed., 2012, Butterworth-Heinmann.
  • B.H. Hahn and D.T. Valentine, Essential Matlab for Engineers and Scientists, 4th ed., 2010, Elsevier.
  • C.B. Moler, Numerical Computing with Matlab, 2004, Siam.
  • B. Bradie, A Friendly Introduction to Numerical Analysis, 2006, Pearson-Prentice Hall.
  • J. Franklin, Computational Methods for Physicists, 2013, Cambridge University Press.
  • R.L. Herman, A Course in Mathematical Methods for Physicists, 2014, CRC Press.
  • G.B. Arfken and H.J. Weber, Mathematical Methods for Physicists, 7th ed, 2012, Academic Press

Homework and Programs40%
Midterm 20%
Final Project20%
Midterm and Quizzes

A midterm exam will be given in class and will cover all the material in the course including lectures, assigned readings, homework, and computer programming projects. The exam will include problems related to the theory behind the numerical techniques, writing code snippets, and “reading” code to determine the output. Quizzes will be given throughout the semester and will always be given at the beginning of class. No makeup quizzes will be given, although the lowest quiz grade will be dropped.

Homework & Programs

Homework will be assigned regularly. Due dates will be given when the homework is assigned. Much of the homework will include writing computer programs to solve problems. Your code will be evaluated using a grading rubric. Late assignments will be deducted 10% every week they are past due. Written homework problems will also be assigned.

Final Project

You will have the opportunity to work on a computational project of your choice. The aim of the project is to give you the chance to apply the techniques learned in class to a topic that interests you. You may pick a topic from your senior research project, another class, expand on a topic introduced in this course or just something that interests you. Project proposals are due on April 16. You will create a poster paper on your project and present your results at the end of the semester.

Obtaining Matlab

Matlab is installed on the Lenovo laptops and on the computers in MA 60, MA 156, FH 206, FH 207.
You can download the student version of Matlab (which is has full functionality) on your personal computer for $49 at the MathWorks website. If you choose to purchase it, I would recommend adding the Curve Fitting Toolbox and the Partial Differential Equation Toolbox (each cost $10 extra).

Schedule:  here