Instructor: Charles Kankelborg, EPS 260C (x7853) kankel@solar.physics.montana.edu
Office hours: MWF 11-12 or by appointment. W office hour is in the Help Center (EPS 255).
Website: http://solar.physics.montana.edu/kankel/ph567/
Grader: Joseph Plowman (plowman@physics)
Text: Numerical Recipes, 2nd ed., Press et al. The text is freely available for download in PDF format from www.nrbook.com/a/. I will not often follow NR's order or presentation, but all the topics I will cover are well-represented in the text.
Programming Language: In the past, I used C for the examples. I have become convinced, however, that our students will be better served by working in an array-oriented, interpreted language. There are many good choices. I will use GNU Octave (http://www.gnu.org/software/octave/) and MATLAB (http://www.mathworks.com/products/matlab/). The two languages are nearly interchangeable, and I'll try to stay within the overlap of both. Octave is freely available for download. MATLAB is installed on all the machines in the computing lab (EPS 230).
This course will be hands-on, practical and intuitive. By the end of the semester, you will have the right equipment in your toolbox to solve several classes of problems that are difficult or impossible to solve analytically. We will also discover the limitations of many algorithms by devising ways to fool them.
Grading: Approximately 60 points regular assignments, 60 points final project (includes proposal, first draft, and final paper). A 10% penalty will be assessed for late work. There will be no exams.
Homework will be assigned approximately every 1-2 weeks. Most will be programming assignments, but some will be analytical work with pencil and paper. Programming assignments, including source code and results, should be handed in by email. You may freely cannibalize the example codes from class. If you include graphs, please use a portable format such as EPS, JPEG, PDF, etc. You may use Matlab or GNU Octave. Please specify which you used, just in case you have taken advantage of some unique feature that does not work in both languages.
The final project is an opportunity to attack a substantial (but tractable) computational physics problem. This could include a theoretical model and/or data analysis. You may use whatever programming language(s) and computational resources you have at your disposal. The work need not be original research. However, a problem relevant to your research would be ideal; check with your advisor. I will be glad to provide advice and guidance at any stage. Formulate a concise (1-3 pp) proposal and turn it in electronically by Friday, February 13. The proposal should provide a mathematical definition of the problem, state your goals, and describe the approach you intend to take. You will have one opportunity to revise the proposal for credit after it is turned in. The proposal, once accepted, will be worth 10 points (as much as a homework assignment). Your final paper on the project should be brief but informative, with a format similar to a journal article (an informative abstract, introduction, methods, results, conclusions, and any relevant references). I recommend that you learn to use LaTeX. If you use a word processor, be aware that equations sometimes turn into nonsense when transferred to a different computer that may not have exactly the same fonts. Converting the final product to PDF or PostScript, with embedded fonts, should help. A first draft is due by email Friday, April 3, and is worth 10 points. I will "referee" your paper to guide you in revising and completing it. The final draft, due by email Friday, May 1, is worth up to 40 points.