PHY301 - Physics Computations III
This one credit course is the third of
three computational physics courses (PHY102, PHY201, PHY301)
designed to teach undergraduate
physics students how to use computers to solve
PHY102 emphasizes the use of Mathematica
to solve mechanics problems.
introduces Fortran(77,90) illustrated with problems from
electricity and magnetism and continues the use of Mathematica.
The ideas of well structured and object oriented programming are
emphasizes object-oriented programming primarily in
JAVA but also with reference to JAVA's predecessors C++ and C.
JAVA is used to solve selected numerical problems in
differential equations and linear algebra which are relevant to physics.
Mathematica continues to be used.
We offer a further course in computuational physics,
which is a three credit course intended to introduce
more advanced techniques of computational physics,
such as Monte Carlo, Molecular Dynamics and Electronic
Prof. Phil Duxbury - Rm 205PA, 353-9179, firstname.lastname@example.org
Patrick Gallager (CSE major) - email@example.com
(Tentative) Lab. Schedule(for 201 and 301) - Room 346 Giltner Hall
Students Arnold, Harris, Lande, Prichard, Santonocito
Students Kuxhaus, Ochoa, Park
Students Chvolka, Dumont, Katsuhara, Schepler, Strahler, Trionfi, Weerts
Students Lam, Oostdyk, Welsch
You should set aside at least 2 hours per week to work
through the weekly worksheet.
75% will come from your solution to the weekly worksheets
25% will come from a one hour practical exam at the end of the semester.
This exam will be held in the last week of semester
during your regular
lab. time. In the exam you will be asked to
perform mathematica functions you have
used in the worksheets during the semester. Nothing new will be
introduced. You will need to know how to use the online help facilities
and online reference material.
There are many online tutorials for JAVA, C++ and C. Two sites that we
The Java tutorial at Sun
The tutorials at DevCentral Learning Center
The C, C++, JAVA series
of languages started with C, so you might like to start there. However
JAVA is sufficiently evolved from C that you can treat it as a ``new''
language. Actually the worksheets will follow quite closely the
JAVA gently for scientists and engineers.
They also have a web site and
we shall download code from their site periodically.
JAVA is very similar to C++ and contains most of C++, with the exception
of some things, such as pointers (though there are things called ``references''
which are quite like pointers). Anyway knowing C++ certainly helps
in learning JAVA. Here is a local course on C++ (by a physics grad. student)
Alex Zhukov's C++ class
This is probably too much for us, but it is good to read through the first
few units of the course.
Othe useful reference material, some of which is used in the PHY102 and PHY201 courses is:
Mathematica (Written by Ellen Lau)
Linux Computing in rm346G.
Introduction to Fortran
We also plan a parallel computing component to our
offerings in Fortran
Alexandar Donev is
putting together the
hpf links and infrastructre necessary to
initiate that effort.
Introduction to C and C++ (handout)
Nice online intro to C and C++
for scientists - highly recommended.
Lots of online C, C++ and Java (but quite a few
Introduction to C online.
C++ An Introduction to computing, Adams, Leestma, Nyhoff
Numerical Recipes online. This is a book of numerical
methods that are very useful in physics.
Introduction to HTML online
local html help
Graphics programs, including xmgrace
Other local help manuals (e.g. Latex and related packages).