Physics 410/609---Computational Physics
Course Syllabus---Spring 2017

Instructor: Prof. Steven Gottlieb
Office: Swain West 226
Phone Number:       (812)855-0243
E-mail: sg at
Office Hours: any mutually convenient time when I am in or by appointment This policy is designed to make it easier for you to see me. Please take advantage of it.
Physics 410 and Physics 609 meet TH 1:00 p.m.--2:15 p.m. in Swain West 130, a cluster of Apple computers.

Electricity and Magnetism (P332) or consent of instructor
Introduction to Computer Programming (C201 or C301) or consent of instructor
Mathematics---Elementary ordinary differential equations; matrix algebra; complex variables; Fourier analysis will be freely used

An Introduction to Computer Simulation Methods---Applications to Physical Systems (3rd edition), by Harvey Gould, Jan Tobochnik and Wolfgang Christian is required. You should have access to the etext.

We will apply computing methods and numerical techniques to a broad spectrum of physics problems. In the beginning of the course we will concentrate on deterministic systems such as mechanics. In the latter part of the course we will discuss nondeterministic systems as encountered in statistical mechanics. Monte Carlo methods will be discussed. We will also introduce symbolic and numerical computing using Mathematica.

Course Goals
1. To be able to use a computer to solve a variety of problems that arise in solving or modeling problems in the physical sciences.
2. To understand how simulations of physical systems can result in new insights and a better physical understanding.
3. To be able to judge the effort involved in differing approaches to problems and to be able to select the most appropriate one.
4. To gain familiarity with error analysis in numerical approaches to physical problems.
5. To be able to quickly produce publication quality graphs.
6. To be able to write structured, readable computer code.
7. To develop computer skills that will be useful for class work and research.
8. To have fun.

There will be assignments about every two weeks. There will be from 3 to 5 problems depending on the difficulty.

There will be no final examination, as such an exercise seems inappropriate for this course. However, there will be a final project due Tuesday, May 2 at 5:00 p.m. The final project will be selected by each student in consultation with the instructor. For P410, the project should take 12--15 hours to complete. For P609, the project should take about 20 hours for completion. You will be given more information about how you should organize the report on your final project several weeks before it is due.

Homework will count for three-quarters of the final grade and the final project will count for one-quarter. A detailed description of how the final project is graded will be presented later in the semester.

Attendance is optional, but highly recommended. Anyone who can learn the material by reading the text, the notes on the web or through discussion with others is welcome to do so. However, you should be forewarned that most of the students who have tried this approach in the past have not fared very well. Regular attendance will help you to learn the skills that will make carrying out the homework managable. A significant amount of instruction is interactive and not captured by the web notes.

Late Assignments
It is unwise to expect to be able to do your assignments the night before they are due. Start work early on each assignment. Homework handed in within 48 hours of time due will have 10% of the value of the assignment subtracted. Homework handed in between 48 and 72 hours late will have 20% of its value subtracted. Homework handed in later will be accepted at the discretion of the instructor and will be reduced in value by 40%.

Academic Honesty
One of the best ways to learn and to enjoy physics is by discussing it with colleagues. It is expected that you may wish to discuss the problems with others in the class. However, when you write programs and run them, the work should be your own, not copied from someone else. In most homework assignments you are expected to write your own code to carry out the assignment. If I expect you to write your own code, but you use my code or executable, you will not receive full credit. If in doubt about what is expected please ask me (in person, on the phone or via email).

I have had problems in the past on the final project with students who do not give proper attribution for work that they use. Make sure to give proper references to all sources of information. If I find that you have copied work without attribution you will be penalized.

COURSE OUTLINE (dates approximate)

I. Introduction to the Unix Environment

Jan 10-17
Unix, Awk and Axis
Suppl. readings, Chap1, CSM

II. Classical Systems

Jan 17-19
Coffee Cooling
Jan 24-31 Falling Objects
Chap 3 CSM
Feb 2-9
Simple Linear and Nonlinear Systems
Chap 4 CSM, Chap 16 NR

III. Symbolic Manipulation

Feb 14-21
Intro. to Mathematica
Mathematica, handouts

IV. Classical Systems (continued)

Feb 23-28
Chap 6 CSM
Mar 2-21
Numerical Integration, Errors
Chap 11 CSM, Chapter 4 NR

V. Nondeterministic Systems

Mar 21-Apr 6
Random Numbers
Chap 7 CSM, Math. Notes
Apr 11-20
Data Fitting
Chap 15 NR
Apr 20-27
Advanced topic, e.g., parallel computing


Required Text

Harvey Gould, Jan Tobochnik, and Wolfgang Christian, An Introduction to Computer Simulation Methods --- Applications to Physical Systems, Third Edition, Pearson/Addison Wesley (2006).

Other References

Forman S. Acton, Numerical Methods That Work, Harper Row (1970).

A.V. Aho, B. W. Kernighan and P. J. Weinberger, The AWK Programming Language, Addison-Wesley (1988).

R.L. Burden and J. D. Faires, Numerical Analysis, Latest Edition, Brooks-Cole (20xx).

I.D. Chivers,  Introduction to programming with Fortran with coverage of Fortran 90, 95, 2003, 2008 and 77, Springer (2012).

N.S. Clerman, Modern Fortran style and usage, Cambridge (2012).

P.L. DeVries and J.E. Hasbun, A First Course in Computational Physics, Second Edition, Jones and Bartlett (2011).

R. Gass, Mathematica for Scientists and Engineers, Prentice Hall (1998).

N.J. Giordano and H. Nakanishi, Computational Physics, Second Edition, Prentice Hall (2006).

R. Glassey, Numerical Computation Using C, Academic (1993).

R.W. Hamming, Numerical Methods for Scientists and Engineers, McGraw-Hill (1987).

Dieter W. Heermann, Computer Simulations Methods in Theoretical Physics, Springer (1990).

Malvin H. Kalos and Paula A. Whitlock, Monte Carlo Methods, Wiley-Interscience (1986).

Donald E. Knuth, The Art of Computer Programming, Vols. 1--3, Addison Wesley (1973).

Brian W. Kernighan and P. J. Plauger, The Elements of Programming Style, McGraw-Hill (1978).

Henry McGilton and Rachel Morgan, Introducing the UNIX System, Mc-Graw Hill (1983); Introducing the UNIX System V, McGraw Hill (1987).

R.H. Landau, M.J. Paez, and C.C. Bordeianu, A Survey of Computational Physics, Princeton (2008).

M. Newman, Computational Physics, (2013).

A. Oram and S. Talbott, Managing Projects with make, O'Reilly & Associates (1991).

William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling, Numerical Recipes --- The Art of Scientific Computing, Cambridge.

L. Wall and R.L. Schwartz, Programming perl, O'Reilly & Associates (1991).

S. Wolfram, Mathematica Book, Cambridge (latest edition).

R.L. Zimmerman and F.I. Olness, Mathematica for Physics, Addison Wesley (2002).

UNIX is a trademark of Bell Laboratories.