Before we start, to highlight the
importance of well-structured, error-trapped code, here are
two sites that describe some of the more spectacular disasters attributed
to elementary programming errors..........
Some disasters
attributable to bad numerical computing.
A collection of high profile software bugs.
The animated gif above was taken from and is copyrighted by The Animation Factory .
The links given in the following sections are to material that is related to particular aspects of the module. If you find any interesting C, computational physics or numerical methods links, please let me know (my contact details are on the homepage).
.
Following lecture and lab. session 1, you should:
Some useful links to pointer and array-related notes and tutorials:
A Tutorial on Pointers and Arrays in C, Ted Jensen
Pointers
Image processing-related sites:
An Image Processing Tutorial
for Beginning Undergraduate Students, Clifford Watson,
Department of Applied Mathematics,
University of Washington
Washington State University's Digital Image Processing Instructional Database,
Files for Lab. Session
2:
Right click on the following files and select "Save Link As" to download
each file to your f:/ drive:
diff1.c , diff2.c
From lecture 2 onwards we will cover some of the basic numerical methods that are used in computational physics/ science.
A good online numerical analysis course, written by Dr. Aaron Naiman, Jerusalem College of Technology, may be found here .
Note, however, that this course is slightly too detailed in some places for our purposes. However, the online slides and notes
provide a great deal of background information that you'll find useful.
Following lecture and lab. session 2, you should:
Files for Lab. Session
3:
Right click on the following link and select "Save Link As" to
download
the file to your f:/ drive:
graphpen.c .
Following lecture and lab. session 3, you should:
There are a large number of sites dedicated to Euler's method and the numerical solution of ODEs. A few are listed
below:
William Kath's Elementary Differential Equations online course.
ODE Laboratories: A Sabbatical Project by Christopher A. Barker
Euler's method
Differential Equations and Oscillations , Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Lecture 6 of the Computing II module deals with the behaviour of a damped, driven pendulum. A Java simulation of the pendulum, based on a Runge-Kutta method, may be found by clicking on the lecture 6 link below. Similarly, for more examples of the use of Euler and Runge-Kutta methods in the analysis/ simulation of physical systems, visit the Virtual Laboratory .
Joseph L. Zachary's Introduction to Scientific Programming site features an excellent tutorial on numerical integration (including an informative Java applet).
Links to Newton's method-related sites:
Wolfram Research's MathWorld site.
Joseph L. Zachary's Introduction to Scientific Programming site. (Includes a Java applet-based tutorial).
Newton's method.
Links to chaos-related sites and a detailed Java-applet based tutorial on chaos in the damped, driven pendulum may be found on the Lecture 6 page.
Some links:
Fourier series applet by Steve Crutchfield and Hsi Chen Lee at John Hopkins University. Recommended!!
Manfred Thole's Fourier synthesis page.
The Living Mathematics project at
the University of British Columbia (features a range of Java applets)
Some links:
An Introduction to Monte Carlo Methods, The U.S. Computational Science Education Project
Monte Carlo integration
StudyWeb's list of links to Monte Carlo-related sites
Monte Carlo cluster growth (diffusion limited aggregation). A Java implementation (by Chi-Hang Lam) of
a program very similar to the cluster growth program (written in C) that I used in the lecture.