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 project web page. Most of the files that can be downloaded are PDF (Portable Document Format) files (which requires Acrobat Reader to view).

Until further notice, ALL STUDENTS MUST wear face masks while attending this course on campus as per ETSU policy. This is due to the significant increase in the number of reported cases of COVID-19 across our region. This increase is primarily the result of the emergence of the highly infectious Delta variant, coupled with the reality that vaccination rates across our region trail national averages. In addition, your professor is immune-compromised due to the medications he is taking. Please, wear face masks to class to keep us all safe!

Note that we will be using Version 7.1 of these course notes for this semester. As the semester progresses additional links will 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 it is widely used in physics and astronomical research. Tutorials on the use of 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.

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

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

Additional Homewotrk Assignments will be posted below as the semester ptogresses.

Homework Assignments:       Problem Set 1
Problem Set 2       ( Sample Proposal   LaTeX file   )
Problem Set 3


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


Samples of LaTeX Files Web Page

Click here to access the course web page that contains sample LaTeX files for student use..


Useful Web Sites for this Course



Last modified: October 1, 2021 by D.G. Luttermoser