Physics 317: Introduction to Computational Physics and Programming
| The original due date for your posters was
Friday, May 18; however, I have changed the
due date to Monday, May 21.
There is no final exam for the class. Just turn
in your poster.
Course material can be found online at URL
Building 76, Office 1274
Office phone: 475-2538
for a week-by-week breakdown of projects and readings.
Class meeting times
The official class meeting times are:
T 4:00 - 5:50 PM 08-1365 (Gosnell Mac Lab)
R 4:00 - 5:50 PM 08-1365 (Gosnell Mac Lab)
Students must appear at the Tuesday session, during which I
will introduce the topics of the week, describe the week's
project, and explain techniques.
Students must attend the Thursday lab sessions unless they
have finished the week's assignment already.
I will count attendance in determining the final grades.
In order to submit your work each week, you
must do the following:
- Source code file(s) must be submitted via the
myCourses WWW page.
After you have logged into myCourses, go to the Phys317
page and then choose the Dropbox item.
Place your code in the appropriate folder -- there should
be one per assignment.
- All other material -- answers to specific questions, tables,
figures, analysis, etc. -- must be printed or written on
paper. You can hand the papers to me, or place them into
the mailbox outside my office door. If you submit multiple
pieces of paper, please use staples or paper clips to fix them
Each week's assignment will be graded on a scale of 0 to 10.
I will assign points roughly in the following manner
(though there may be small variations from week to week):
- pseudocode submitted before class on Wednesday: 1 point
- assignment submitted on time: 2 points
- code runs without error messages, given proper input: 2 points
- code computes the desired quantities accurately: 3 points
- description/explanation of work: 2 point
- HTML man page explaining the usage and purpose of the code: 1 point
All programs should include
I provide examples of what I consider to be good style in
the short Scilab programs from
examples page .
- lines no longer than 80 characters, even after
tab characters are expanded into spaces
- comments at the start of each function, explaining the purpose
of the function.
Each function argument should have a separate comment,
describing its meaning, its type, valid ranges,
and whether it is an input or output to the function.
- comments sprinkled throughout the source code,
roughly at the start of each "paragraph"
I've created a set of
example Scilab functions
which may help you to start writing your own.
I have placed some books on reserve in the RIT Library.
by Steve McConnell.
Everything you wanted to know about coding.
Writing Solid Code,
by Steve Maguire.
A succint set of rules to help you avoid common errors
and express yourself more clearly.
- The Elements of Programming Style and
Software Tools ,
by Brian Kernighan and P. J. Plauger.
Both are old (written in 1974 and 1976, respectively),
but filled with excellent, extended samples
of Good Code.
These books are out of print,
but you can find them in the RIT library.
- Engineering and scientific computing with Scilab
ed. Claude Gomez.
The book is old (published in 1999),
but is the only item in the library which
uses Scilab as an example language.
- Introduction to Numerical Methods: A MATLAB approach
by Abdelwahab Kharab.
A book very much like our text, but including a very quick
introduction to the MATLAB language.
You are very likely to find material pertaining to
most of our assignments in this book.
Some links to sites with information and tutorials on Scilab:
Other good references for mathematical techniques:
- Numerical Recipes by Press et al.
- Data Reduction and Error Analysis for the Physical Sciences,
by Philip R. Bevington. Published in 1969, but almost
always contains the answer to your problem anyway. A classic.
If you find it on an "old book" rack, buy it!
Numerical simulation of physics from the point of view
of a computer game writer.
A molecular dynamics primer
by Furio Ercolessi
provides some explanation of different algorithms, and
is available on-line.
The section labelled
time integration algorithm
is most relevant to this course.
Molecular Dynamics Simulation
by Haile has been recommended as a good starting point,
though I haven't read it myself.
Computer Simulation of Liquids
by M.P. Allen and D.J. Tildesley has been recommended as a
good reference, though I haven't read it myself.
A list of numerical methods resources
kept at the State University of New York, Stony Brook,
has a wealth of links.
You can find other courses on Computational Physics on-line at
Last modified 3/6/2007 by MWR