Dr. Donald Luttermoser's
PHYS-4007/5007 Course Web Page

This web page has been set up for the students at ETSU taking PHYS-4007/5007 Computational Physics with Dr. Luttermoser. Links have been set up for the students to download the course notes, appendicies, homework assignments, and the course projects web page. Most of the files that can be downloaded are PDF (Portable Document Format) files (which requires Acrobat Reader to view).

Note that we will be using Version 8.0 of these course notes for this semester. Occasionally additional links may be added to this page.


Course Overview

Computational Physics (PHYS-4007 for undergraduate credit, PHYS-5007 for graduate credit) is designed to cover techniques used in modeling physical systems numerically and analyzing data. It is designed to help the students gain experience with programming languages in carrying out this work. It is also important to know how these programming languages are accessed in an operating system. Note however that this is NOT a course in computer programming! Instead, this course is designed to use computer programming to solve scientific problems in physics and astronomy. Two of the most common programming languages used in these sciences are Fortran and Python. In addition, many astronomers and astrophysicists use the Interactive Data Language (IDL) in their research. Techniques will be developed to numerically differentiate and integrate, and to solve systems of linear equations, ordinary differential equations (ODE), trajectory and orbit problems with numerical methods, and finally partial differential equations (PDE). The students also will be introduced to data fitting techniques. Note that the theoretical foundations to each of these subjects will be introduced to the students prior to focusing on the numerical techniques.

Students should have already taken PHYS-2110/20 (Technical Physics I & II) and/or MATH-2120 (Differential Equations) before taking this course. Though previous computer programming experience is not required, such experience will be beneficial to the student. We will primarily be using the Python programming language throughout most of the course, though we will occasionally also use Fortran, since this old language is still widely used in physics and astronomical research. Introductions on using Fortran, Python, and IDL are given in Appendices B, C, and D, respectively, of the course notes. Appendix E contains a reference guide to the C programming language for those of you interested in using this language in your research.

Computational Physics is a problem-solving course, that is, the measure of a student's progress is demonstrated by the ability to solve numerical problems in physics and astronomy using computer programming methods. Upon completion of this course, the student will possess the basic knowledge of numerical modeling and data analysis that may be required for graduate school or in a position at a technical corporation.

In this course, the student will be using the Linux operating system on the computers in Brown Hall Room 264. Besides learning how to solve numerical problems with a computer, the student also will gain experience writing manuscripts in a scientific-journal style using the mark-up language LaTeX. As a matter of fact, the syllabus and all of the course notes are written in LaTeX with the graphics being created in IDL. LaTeX is used by a large number of professional journals, conference proceedings, and textbooks in both the physical sciences and mathematics.


Course Syllabus

Course Syllabus for PHYS-4007/5007, Computational Physics.

ETSU Supplemental Syllabus Attachment.


Computational Physics Course Notes Sections

I. An Introduction to Scientific Computing
II. Choosing a Programming Language
III. Preparing Scientific Manuscripts: LaTeX
IV. Error Analysis and Uncertainties
V. Methods of Data Fitting
VI. Numerical Differentiation and Integration
VII. Matrices and Solutions of Linear Equations
VIII. Numerical Solutions of Ordinary Differential Equations (ODE)
IX. Computing Trajectories
X. Computing Orbits
XI. Numerical Solutions to Partial Differential Equations (PDE)
App. A:     Operating Systems
App. B: Scientific Programming Using Fortran
App. C: Scientific Programming Using Python    
App. D: Scientific Programming Using IDL
App. E: Scientific Computing Using C
App. F: How Computers `See' Numbers and Letters
App. G: Numerical Integration Using Gaussian Quadrature
App. H: Fourier Analysis and Non-Linear Oscillations


D2L Course Website

Even though most of the material you will need for this course is on the Course Web Page (where you are at now), there may be times when you will need to log into the D2L Course Website.

To access the ETSU D2L web site, click on the following link:

D2L Web Site Login Page,

then select the PHYS-4007 course link once you log in, in order to get to the D2L Course Web Page.


Homework Assignments

Homewotrk Assignments will be posted below as the semester ptogresses.

Homework Assignments:       Problem Set 1


Programming Tutorials Web Page

Click Computer Programming Tutorials to view the tutorials web page.


Course Project Web Page

Information about the course computer project can be found at the Computer Project web page (just click on the link).


Useful Fortran 77 Subroutines Web Page

Click here to access the course web page that contains the Fortran 77 subroutines that can be used to solve sets of ordinary differential equations as described in Chapter IX of the course notes..


Useful Python Programs Web Page

Click here to access the course web page that contains useful Python tutorials and program files for student use..


Useful Web Sites for this Course



Last modified: September 5, 2025 by D.G. Luttermoser