Syllabus: Computational Physics (PHZ 5156) - Spring 2018

Class times and location: TR 14:00 - 15:20, SE 311

Instructor: Wolfgang Tichy
Office: Science and Engineering (SE) 444
E-mail: wolf "at" (be sure to put PHZ 5156 in the subject line)
Class Website:

Office Hours:TR 15:30-16:30, and by appointment

M. Newman, Computational Physics (see:
W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes in C, 2nd Edition (Cambridge University Press), also available online at: and I have seen the C code here: UMD's ASTR415
W. T. Vetterling, S. A. Teukolsky, W. H. Press, B. P. Flannery, Numerical Recipes Example Book in C, 2nd Edition

Other books worth looking at:
S. Gerlach, Computerphysik: Einf├╝hrung, Beispiele und Anwendungen (Springer Spektrum)
Rubin H. Landau, Manuel J. Paez, Cristian C. Bordeianu, Computational Physics: Problem Solving with Python, 3rd Edition (Wiley-VCH)
B. A. Stickler, E. Schachinger, Basic Concepts in Computational Physics (Springer)

Resources about C:
GNU Scientific Library

Resources about computer algebra:
SageMath: like Mathematica and MATLAB combined
SageManifolds: tensor calculus

Resources about Python and scientific computing:

Course objectives:
The course will give an overview of computational physics methods. No physics background is required. This is going to be a very hands on course in which students will write their own computer programs. While the course is self contained, some prior knowledge of computer programming will be very helpful. By the end of the course the successful student should have the skill to attack any computational problem.

Topics: I plan to cover the topics below. It is possible that we run out of time at some point. In this case we may not be able the cover the last few topics.

  1. Computers, machine language, and operating systems
  2. Unix/Linux
    important shell commands, remote login
  3. Programming in C
    How to enter a C program, the GNU C compiler gcc, types in C, output in C, functions in C, loops in C
  4. Numerical errors
  5. Numerical integration and differentiation
  6. Solving linear equations
  7. Solving non-linear equations
  8. Visualization using Python
  9. Ordinary differential equations
  10. Partial differential equations
  11. Parallelization: OpenMP, MPI
  12. Random numbers and Monte Carlo methods
  13. Spectral methods

Homework: All homework problems will be posted on the class website. The due dates for the graded problem sets will be posted on the class website. You will loose about 10% of the maximum score for each day your homework is late. Much of the homework will involve writing computer programs. Students will get points for the following aspects of their programs: the program compiles, the program runs, the program produces the correct results, the program is properly commented and indented. All programs or plots should be printed and handed in along with the homework. In addition, all programs together with any files required to compile and run them have to be e-mailed to wolf "at" with the subject indicating the homework number (e.g. HW4).
Homework policy: You must solve the problems yourself. This means you must write your own programs for the homework. This is the optimal way to learn the material. However, if you are stuck because of an error message that you do not understand or another similar technical problem, it is fine to ask other students or the instructor for help. Yet if you just copy the work from other students you will not get points. In suspicious cases I will simply ask you to explain your homework to me.

Grades will be based on the following:
Activity Percentage
Homework 90%
Class Participation 10%
There is no exam!

Additional information:

FAU policy statements:
Disability policy statement: In compliance with the Americans with Disabilities Act (ADA), students who require special accommodation due to a disability to properly execute coursework must register with the Office for Students with Disabilities (OSD) -- in Boca Raton, SU 133 (561-297-3880); in Davie, MOD 1 (954-236-1222); in Jupiter, SR 117 (561-799-8585); or at the Treasure Coast, CO 128 (772-873-3305) and follow all OSD procedures.
Code of Academic Integrity policy statement: Students at Florida Atlantic University are expected to maintain the highest ethical standards. Academic dishonesty is considered a serious breach of these ethical standards, because it interferes with the university mission to provide a high quality education in which no student enjoys an unfair advantage over any other. Academic dishonesty is also destructive of the university community, which is grounded in a system of mutual trust and places high value on personal integrity and individual responsibility. Harsh penalties are associated with academic dishonesty. For more information, see University Regulation 4.001.