Scientific Computing: Resources

Prof. Gladden, Lewis 103A , M W 11:00 - 12:15

General Python References
There are MANY references for the Python programming language, but here a few standard ones that are pretty good.
    • The official website:
      Here you can download python for your platform, browse official documentation, and find links to other Python related resources around the web.
    • The EASIEST way to get python and almost all the modules we will need is to install the Enthought Python Distribution (EPD) which packages a whole host of scientific modules. It is free for educational users like us (look for the "Academic Download" page) and is the environment we will be using in class. The link for the academic version is at the bottom of the linked page. You fill out a short form and they will email you a link to download the package. There is also a more limited "EPD-Free" package that anyone can download.
    • In the last year, Enthought has released a python integrated development environment (IDE) called "Canopy". I have found it generally quite nice, but periodically buggy. As a student you can install it for free (look for the "Academic License" link on the download page.
    • A good general Python book is "Beginning Python: From Novice to Professional" by Magnus Lie Heland. Although there are MANY general python books now, this one has been around for a while and progresses from the basics to non-trivial real world examples in a clear way. Amazon link.
    • Byte of Python:[PDF] This is an open source introductory book by C.H. Swaroop(in PDF) on the Python programming language for Python version 2.x. I find it a useful reference to have around. We will be using version 2.7 in this class. However Python 3 has been out for about 1.5 years, so I have posted Swoop's updated Byte of Python for Python 3 as well.
    • Python Handbook:[PDF] This is based on a trial by Micheal Williams to teach the Computational Physics course at Oxford (UK) using Python. It is not the most polished and somewhat specific to their system, but is geared more toward scientific computing.
    • The Matplotlib (pylab) manual [HTML]. Here also is a PDF file to store locally. Latest version is 1.4
    • The Numpy and Scipy documentation page: Lots of functions and features related to things scientists do on computers.
    • "A Primer on Scientific Computing" website: download all programs in the book, associated lecture slides, ....

Links to downloadable libraries we will be using:
    • Matplotlib (pylab): A useful plotting library with sytax very similar to Matlab. (included with EPD)
    • Numpy and Scipy: Pretty much the broadest scientific and mathematical python libraries in very active development. (included with EPD)
    • Visual Python (Vpython): Provides a nice set of 3D graphics capabilities which are simple and intuitive. (NOT included with EPD)
    • TextWrangler: a good Mac based code editor.
    • Komodo Editor: A nice cross platform and newly open sourced code editor.
    • EPD Canopy: Polished IDE from Enthought. Nice user interface & free for academics, but does crash regularly if running sophisticated visualization or interactivity.