Instructor: Charles Kankelborg, EPS 260C (x7853) kankel@solar.physics.montana.edu
Office hours: MF 2-3 or by appointment.
Course Website: http://solar.physics.montana.edu/kankel/ph567/
My weekly schedule: http://solar.physics.montana.edu/kankel/Schedule.pdf
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 70 points regular assignments, 70 points final project (includes proposal (10), first draft (10), and final paper (50)). A 10% penalty will be assessed for late work. There will be no exams.
Homework (10 points each) will be assigned approximately every 1-2 weeks. Most will be programming assignments, but some may involve analytical work with pencil and paper. Programming assignments, including all source code and results, should be handed in by email. You may freely cannibalize the example codes from class. If you include graphs, use a portable format such as EPS, JPEG, PDF, etc. You may use Matlab or GNU Octave. Please specify which you used so that the grader can easily run your code.
The final project is an opportunity to attack a substantial (but tractable) computational physics problem. This could include a numerical simulation 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 (about 2-3 pp) proposal and turn it in to me (not the grader) electronically by Friday, February 18. The proposal should:
Your final paper on the project should be concise and 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 should help. A first draft is due by email Friday, April 8. I will "referee" your paper to guide you in revising and completing it. The final draft is due by email Friday, May 6.