Application of Computer Programming in the Physical Sciences and Engineering

Spring Semester, 2007

Igor A. Shovkovy


Monday, Wednesday, Friday


3:00 p.m. 3:50 p.m.




Overview: This is the Application of Computer Programming in the Physical Sciences and Engineering course for physics majors at the advanced undergraduate and graduate level. Tentative list of topics to be covered includes basics of computer algebra program Mathematica (including functions, procedures, packages, 2D and 3D graphics), solving algebraic and differential equations, studying linear and non-linear oscillating systems.


Objectives: It is the purpose of this course that students develop practical skills in using analytical, numerical and graphics features of Mathematica for solving various physics problems, for setting up computational simulations, for working with data files, and for presenting the results in a number of different graphical forms.


Textbook: Mathematica for Physics (2nd edition) by Robert L. Zimmerman and Fredrick I. Olness.

Supplementary texts: Numerical Methods for Engineers by S.C. Chapra and R. P. Canale,

and Numerical computation in Science and Engineering by C. Pozrikidis



Attendance policy: Attendance is expected although not mandatory. Students are responsible for all material presented in class, all homework, and for all changes to the schedule or plans which are announced in class.


My office is Currens 305. My office telephone number is 309-298-2743. You are welcome to call me at my office at any time. There is a voice mail if I am not available. My e-mail address is I read e-mail daily during weekdays. 


Office hours will be on Wednesday and Friday from 4:30 p.m. to 6:00 p.m. In addition, you can make appointments with me.


Prerequisites: One year of general physics, one year of calculus, or permission of the instructor.


The final grade for this course will be based on weekly homework assignments and a project. My default plan is to use the following table for determining the maximum number of points for each category:  







together with the following grade ranges:

A (85-100 points), B (70-84 points), C (55-69 points), D (40-54 points), F (<39 points)


Homework will be assigned about every week or so. The solutions should be handed in the following week before the class. In general, late homework will not be accepted. There will be 10 to 20 problems assigned during the course. Each of them will be graded on a scale from 0 to 10. At the end of the semester, I will rescale the total homework score so that the maximum is 60 points.


Project. Each student will be required to complete a small project on a problem of his/her choice (to be approved by the instructor). The maximum score for the project is 40 points. The finished project should demonstrate (i) the knowledge of the physics processes modeled, and (ii) the practical knowledge of using procedures, functions and graphical tools of Mathematica. The project should be written in a clear way, and should be executable as a whole notebook. The project (in an electronic form, preferably on a CD) is due not later than the last day of classes (May 4, 2007).

Tentative schedule

The exact schedule for lectures will depend on how long it takes to cover the material. The following is my best guess as of now (January 2007).  Please note that there will be no mid-term exam and no formal final exam. The purpose of the project is the same as the final exam.



Tentative description of topics to be covered



Jan. 17, 2007

Mar. 9, 2007

Introduction to computer algebra program Mathematica, Arithmetic and Algebra, Functions and Procedures, Packages, Calculus, 2D and 3D Graphics, Solving algebraic and differential equations, Analytical and numerical solutions, Graphics options

Mar. 12 16, 2007

Spring break

Mar. 19, 2007

May. 4, 2007

Linear oscillating systems, coupled oscillations, non-linear oscillating systems, phase space analysis, use of the Mathematica standard packages, use of Mathematica in research

May 4, 2007

Due date for the project


For student rights and responsibilities see the WIU web page:

Useful online resources:

1.      Web site of Prof. R. L. Zimmerman

2.      Web site of Prof. F. I. Olness

3.      Wolfram Information Center

4.      Wolfram Documention Center

5.      Mathematica for students

6.      Wolfram Math World

7.      Lissajous Lab



1.      Notes on Mathematica commands (pdf-file)

2.      Local copy of MathSample_Olness.nb (Mathematica notebook)

1.      note_1 (pdf, 1/26/07)

2.      note_2 (nb, 1/29/07)

3.      note_3 (nb, 2/2/07)

4.      Notebook on 3D-Animation, animated GIF file (nb, 2/16/07)

5.      Animation of the Brownian motion (nb, 2/21/07)

6.      No-mesh surfaces of various types (nb, 3/2/07)

7.      Extended help sheet on Mathematica commands (pdf, 3/2/07)


Homework solutions

1.      homework_1 (pdf, 1/30/07)

2.      homework_2 (pdf, 2/12/07)

3.      homework_3 (pdf, 2/19/07)

4.      homework_4 (see, e.g., Animation of the Brownian motion above)

5.      homework_5 (pdf, 3/6/07)

6.      homework_6 (pdf, 3/23/07)

7.      homework_7 (pdf, 3/26/07)

8.      homework_8 (pdf, 4/8/07)

9.      homework_9 (pdf, 4/12/07)

10.  homework_10 (pdf, 4/25/07)

Last modified March 26, 2007