
Interesting Links
(feel free to suggest others)

Last Update:
Oct 6, 2009

Report Guidelines
Our projects involve investigation of the behavior of a physical system through simulation. The heart of the assignment is your investigation of the system, and there are several basic elements to a report that describes your work. Read more...

Syllabus
We will begin by introducing the fundamentals of programming and the syntax of the Python language, and then move on to study physical systems of increasing complexity (and interest!) . As we do so, we will learn more about Python and several associated packages that make Python an ideal language for many scientific computing tasks. Read more...

Draft Textbook Chapters
1.Chapter1
2.Chapter 2
3.Chapter 3
4.Chapter 4
5.Chapter 5
6.Chapter 6
7.Chapter 7
8.Chapter 8

Old Assignments
๏Assignment 8
๏Assignment 7
๏Assignment 6
๏Assignment 5
๏Assignment 4
๏Assignment 3
๏Assignment 2
๏Assignment 1

Overview of Course
This course uses computers to simulate physical systems using the computing language Python (named after the British Comedy Troupe), along with many associated libraries that make scientific computing and visualization in Python much easier to implement than in languages such as C/C++, Fortran, and Java. The course will begin with an introduction to the core foundation of Python, and then we will quickly progress to use Python to simulate physical systems that are not solvable by analytic means. The course emphasizes computation for the sake of increased understanding and insight into physical systems, and teaches programming/scripting as a means to this end.

Final Projects
Your final project will be on a topic of your choosing that is also deemed reasonable. I encourage you to keep this project in mind during the semester so that you can begin formulate ideas for your topic. Here is a timeline for the elements of the final projects:

Required Text:
Computational Physics, 2nd ed, Nicholas Giordano and Hisao Nakanishi
Very Highly Recommended Texts:
An Introduction to Python, (Paperback) Guido van Rossum, publisher: Network Theory LTD.
Python Scripting for Computational Science (Hardcover) by Hans Petter Langtangen
(Both books may be purchased from Amazon.com used or new; click on above links to go to Amazon.com, the required text will be available at the USM Portland Bookstore.)

Computing Platform Recommendation
I used to recommend MAC OS X as the preferred platform for scientific computing using Python, but the recent upgrade to Snow Leopard (10.6.1) has BROKEN the ability to use MatplotLib. As a result of this, I recommend NOT upgrading to Snow Leopard until this capability is restored.
I now do all my python code development in Ubuntu Linux 9.0.4 using Python 2.6.2, and recommend it heartily.
Physics 261
Computational Physics
Fall 2009

Current Project
Giordano: Problem 2.9
Drawing with Python (very nice package!)
Nodebox (Python Based & Mac OS X only)
Processing.org (Cross-platform; but not python-based)