Computatioanl Physics (PH423/762, Spring, 2017)

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:

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

Download (Updated: Feb 17, 2016)

Messages from the Instructor
  • [12/23] 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 execlusively in lectures, lecture notes provides Phython support. It is not required to use Python. However, if you wish to learn Python, Anadonda package is recommended for Microsoft Windows and Mac. The instructor uses Python 3 (Not Python 2). Download Anaconda 4.2.0 for Python 3.5 at If you use Linux and don't know how to install Python and related tools, consult the instructor.

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 themself.

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 with the instructor's permission.

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 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