Computational Physics using Python
Syllabus
The following is
a very approximate list of topics I would like to include in rough
chronological order. There may be additions/subtractions as we go.
- Introduction to Python/VPython
Elementary ideas about modeling and computer simulation. Visualization:
graphs and animation.
- Solving simple differential equations using a computer: Euler
algorithm, Newton's laws as difference equations. Examples: oscillations, particles in a box,
gravitational systems.
Simple loops, conditionals and examples of simple simulation.
- Waves on a string. Coupled oscillators. Analytical and numerical analysis. Wave
velocity. Superposition,
reflection. Non-linear
waves and solitons. Event driven animation.
- Systems with many degree of freedom -- statistical mechanics. Monte Carlo simulation.
Ising model and phase transitions. Errors.
- Quantum mechanics on a computer -- solving the time independent Schroedinger
equation using shooting method. Time dependent numerical solutions -- scattering
of wavepackets. Path integral quantum Monte Carlo.
Course Mechanics
- A short homework assignment will be set every week. This
will be given out on Thursday and will be due back by the following Thursday.
This homework
may be associated closely with a lab and may involve computer work.
- Each week we will meet on the Thursday for a lab. This may
take the form of a tutorial on a specific programming topic or more
frequently the application of computational techniques to explore
some particular topic in science. Many of these
labs will spread out over two or more
weeks. The writeup for a lab will be due one week after completion.
- There will be a final. In addition there will be a final project
-- details to be given later in the semester
Final Grades
Your final grade will be computed according to the following recipe:
- Homeworks : 20%
- Final : 15%
- Total labs : 45%
- Final project: 20%
Office hours
Tuesdays 2:00-4:00pm or by appointment
Necessary background
The course will assume familiarity with algebra, trigonometry and a little
geometry. Calculus is a co-req. While familiarity with basic Physics at the
level of 211 will be an advantage it is not necessary. The course will be
as self-contained as possible in this regard.
Back to the PHY307 Homepage
This page maintained by Simon Catterall, last updated 8 January, 2007.