REFERENCES

Useful Homepages

VPython, including downloads of version 2.3 of VPython and of Python (released July 29, 2003)

Python

Freely accessible/downloadable

* How to Think Like a Computer Scientist Learning with Python, by Allen B. Downey, Jeffrey Elkner and Chris Meyers (also available in a very-reasonably-priced paperback published by Green Tea Press).

* VPython Reference Manual, by R. Chabay, D. Scherer, and B. Sherwood

* Python Reference Manual, by Guido van Rossum, edited by Fred L. Drake, Jr. (also available in a very-reasonably-priced paperback).

Python Library Reference, by Guido van Rossum, edited by Fred L. Drake, Jr. (also available in a very-reasonably-priced paperback).

Numerical Python, by David Ascher et al.

In addition to the above online access, a complete set of Python in various formats (pdf, html, ps, etc.) can be downloaded onto your computer from http://www.python.org/doc/current/download.html .

* Alan Gauld's original online version of Learning to Program Using Python (zip)

Tutorial on Using IDLE

Students dissatisfied with IDLE may want to download the more sophisticated free editor SciTE, inc. windows installer; also available online is SciTE documentation. To run Python from this editor (e.g. by pressing F5), you must change the path of your PC. For a PC running Windows XP, go to Control Panel | System | Advanced | Environment Variables, then find the Path specification; at the end of the existing string (without erasing it!!), add the directory where Python resides. Typically you will add ;C:\Python23

Python Style Guide

From website Beginner's Guide to Python :

Latest [stable] version of Python: Python 2.3

Python Frequently Asked Question Lists

Python Resources for Non-Programmers

Instant Hacking, a short introduction to the art of programming by Magnus Lie Hetland

Non-Programmers Tutorial For Python, by Josh Cogliati

Introduction to Programming using Python, by Katja Schuerer, Catherine Letondal, & Eric Deveaud (Copyright © 2003 Pasteur Institute)

Learn to Program using Python, a tutorial by Richard Baldwin

One Day of IDLE Toying, very basic, introductory tutorial by Danny Yoo

Python Resources for Programmers

Python Tutorial, by Guido van Rossum, Fred L. Drake, Jr. (editor)

Dive Into Python, tutorial by Mark Pilgrim

Instant Python, by Magnus Lie Hetland

Python 101 - Beginning Python and Python 201 - (Slightly) Advanced Python, self-training courses by Dave Kuhlman.

Python Short Course, set of course slides, by Richard P. Muller of Caltech, aimed at sophisticated scientific users.

Why Learn/Use Python?!

What's new in Python 2.3? highlights; comprehensive but technical document by A. M. Kuchling

What's new in Python 2.2? by Cameron Laird and Kathryn Soraiz; comprehensive but technical document by A. M. Kuchling

Comprehensive set of reviews, by Ron Stephens of Awaretek, of books on python, but from the perspective of a veteran programmer.

Python Programming: An Introduction to Computer Science, by John M. Zelle; see also his website on Teaching with Python

Introduction to Python, by Bill Sconce (seemingly notes accompanying lecture)

Minimal Python for Scientific Computing, by M.D. Johnson (September 26, 2002; revised August 19, 2003; pdf version)

The Standard Python Library: New Modules in Python 2.3 (advanced reference, with links to modules in earlier versions)

Tutorial introduction to python, clear and concise, from Univ. of Cape Town physics class

Learn to Program using Python: Lesson 1, Getting Started, by Richard Baldwin (good but limited)

Python Quick Reference: latest updates, various formats; see, especially, the online html Python 2.1 version

Python 1.52 Quick Reference: concise, handy, somewhat out of date (link to it on preceding is broken)

Dive into Python, a rapid introduction to many of Python’s more advanced features, for experienced programmers

Python tutorial by David Beazley, mostly too advanced, but 1st 20 slides are a nice summary of basics

VPython introduction (in pdf)

Brief, basic VPython introduction from ANU, for bouncing ball

Next VPython tutorial from ANU, for simulating a gas

Rob Salgado's VPython applications for Teaching Physics

Demo programs for Matter & Interaction

Source Code for Practical Python by Magnus Lie Hetland, can be downloaded from book homepage

Homepage for Physics 307, taught by Prof. Alan Middleton at Syracuse Univ. in Fall 2002

Handbook of the Physics Computing Course, by Michael Williams, U. of Oxford; succinct, uses gnuplot rather than VPython for graphical output

Some Other Advanced Python Resources, available free online

Thinking in Python, by Bruce Eckel

Set of Python tutorials

Site for Python Cookbook

Advanced topics from U. Central Florida python class

Pyfort, a Python-Fortran connection tool

Tight-binding programs for computing bandstructure of semiconductors (using Python for physicsresearch!)

Some Resources in Scientific Computing and Numerical Methods

An Elementary Introduction to Scientific Computing, by Charles C. Dyer and Peter S. S. Ip (pdf)

An Introduction to Computer Simulation Methods, by Harvey Gould, Jan Tobochnik, and Wolfgang Christian

SimPy: A Python-based simulation package

Numerical Recipes, by W. H. Press et al., a standard, highly-regarded reference now online at Los Alamos and Cornell in Fortran and in C (but not in Python); however, there are always some who do not believe the success of NR is fully deserved.

Some razzle-dazzle: FlowVis 2003

Random numbers: Mersenne Twister homepage which is explained, albeit rather technically, by J. Savard

12 useful programs, from Computer Sciences at UM

Paperback books

Learn to Program Using Python, A. Gauld, Addison-Wesley, 2001.

Matter and Interactions, Vol. I, R.W. Chabay and B.A. Sherwood, Wiley, 2002.

Python Essential Reference, 2nd ed., David M. Beazley, New Riders Publishing, 1999.

Learning Python (Help for Programmers), M. Lutz and D. Ascher, O'Reilly & Associates, 1999. (Warning: 2nd edition due out by mid-semester.)

Python in a Nutshell, Alex Martelli, O'Reilly & Associates, 2003 (not introductory but well-rated and comprehensive; great reference with detailed index, so very helpful once you are moderately comfortable with Python).

Python Cookbook, edited by Alex Martelli and David Ascher, O'Reilly & Associates, 2002.

The Quick Python Book, Daryl D. Harms and Kenneth McDonald, Manning Publications Co., 2002.

Python: Visual QuickStart Guide, Chris Fehily, Peachpit Press, 2001 (highly rated as an introduction but seemingly oriented toward non-novice programmers)

Programming Python, Mark Lutz, 2nd ed., O'Reilly & Associates, 2001 (advanced and long).

Consortium for Upper-level Physics Software (CUPS): 9 books and software packages, from mid 1990's, using Pascal, alas; in particular, note:

Classical Mechanics Simulations, B. Hawkins and R. S. Jones

Thermal and Statistical Physics Simulations, H. Gould, L. Spornick, and J. Tobochnik

Python Toys

Python Checkbook Manager (aka PyCheckbook): slimmer, free version of Quicken!

BrainVita puzzle

Object-Oriented Programming: Gentle Expositions

An Object-Oriented Bedtime Story, by Joseph Bergin

Other Useful Sites for Scientific Work

SciPy - Scientific tools for Python

Numerical Python homepage, adds a fast, compact, multidimensional array language facility to Python (see 5th freebie).

Color and Color Vision

Several applets on color: This site was produced by a computer scientist as part of a master's thesis! There are lots of interesting things to explore that will amplify and clarify discussion in the text and in class. In particular, you should find the interactive chromaticity diagram very helpful.

Interactive color tree: you set the angle of "longitude." Note the use of chroma for what, essentially, we called saturation.

Chromaticity diagram, blackbody color vs. temperature, and lots of computer resources

Succinct, attractive site on additive and subtractive color mixing.

Color selector site for web pages

Color tree blurb, covering hue, saturation, and intensity

Light and color java apps

Miscellaneous

Tower of Hanoi: pretty graphics and viewed from a computer sciences perspective