Computatioanl Physics (PH423/762, Spring, 2019)

Course Description: Through this course students will learn various numerical methods apply them to a variety of physics problems in classical mechanics, electromagnetism, quantum mechanics and statistical mechanics, using MATLAB or Python. Students successfully completing this course will develop sufficient computational skills necessary to investigate basic physics problems numerically or to carry out simple computer simulations. 

Learning Objectives: Numerical algorithms to solve the follwoing methematical problems.
  • Differential and integral calculus
  • Ordinary differential equations
  • Linear/non-Linear Systems
  • Fourier analysis
  • Curve fitting
  • Eigenvalue problems
  • Pertial differential equations
  • Stochastic differential equations
  • Molecular dynamics simulation
  • Monte Carlo simulation

Textbook: No textbook is required for this course. Lecture notes are prvideded in advance.

Day and Time: Tue. & Thu. 11:00APM-12:15PM
Room: PH 394 (Del Square)
Instructor: Dr. Ryoichi Kawai
phone: (205) 934-3931
skype*: userid = ryoichikawai
* You must send your skype user ID to the instructor by email in advance or your call will be blocked.
Office Hour: Wed. 12:30-1:30pm
Course Website: or ph762

Course Schedule
Source Codes
Project Instruction
LaTeX Instruction
Getting Started with MATLAB
Draft Lecture Notes  


Messages from the Instructor
  • [12/27] The course web site opened.

MATLAB is used in all lectures. The use of MATLAB is required in this course. UAB has a site license and students are elligible to install MATLAB on their computer. Installation instruction is given at

Python is another popular computer language. Although we use MATLAB as main language in the lectures, Phython 3 is also supported. If you wish to use Python, Anadonda package is recommended for Microsoft Windows and Mac. (Linux is also supported by Anaconda but it is better to use the python package included in yourLinux distros.) The instructor uses Python 3 (Not Python 2). Download Anaconda for Python 3.7 at Every Linux distribution inlucdes Python 3. Use a software installer in your Liux system.

Other Computer Languages
You can use your favorite computer language to solve homework and project problems. However, the instructor uses only MATLAB and Python in this course. It is not intended to teach other computer languages in class. Students are responsible for learning the language by themselves.

Several homework problems will be given every week. Homework must be turned in electronically by email.  Allowed formats are MATLAB script file (.m), Python script file (.py), source codes in other languages such as (.c) and (.f90) files so that the instructor can compile and excute the programs. Hand written documents must be scanned in PDF.

There is no paper exam. Students must submit two projects, one by February 28 and the other by April 22. See the detailed project schedule here. Students can work on the porjects suggested by the instructors or propose their own projects. The graduate students are encourage to work on a project related to their research field. The project must use sufficientl level off computational methods. The instructor suggests appropriate level of computational methods for the proposed project. In general graduate project for PH762 must include higher level of computational methods than undergraduate project for PH423. The instructor will guide each project individually to make it sure that the project contains sufficient level of computational methods.

Attendance is required. To pass the course you must attend at least 75% of lectures. Excessive absence will result in administrative withdraw.

Each project carries 30 pts and homework 40 pts. The total maximum possible points is 100 pts. All students must complete two projects and 75% of homework or receive F regardless of the net scores. Letter grades are determined by the rule given in the table.
Grade Total Score
A 90 or above
B 80 or above
C 70 or above
F Otherwise