RESOURCES: 1) http://www.python.org This is the main python page and has links to extensive documentation and tutorials. 2) free online book: M. Pilgrim, "Dive into Python" available at http://www.diveintopython3.net This is a recently completed free book. NB: if you go to www.diveintopython.net, you will be taken to another free python book BUT the book is for Python 2.x, however it is still useful.... 3) online tutorials (there are MANY more than listed here; just google and explore): http://wiki.python.org/moin/BeginnersGuide http://docs.python.org/3.4/tutorial/index.html http://developers.google.com/edu/python/ http://learnpythonthehardway.org/book 4) books: V. Ceder, "The Quick Python Book", Manning Publications, 2nd Ed. 2010 M. Pilgrim, "Dive into Python 3", Apress 2009 C. Beazley, "Python: Essential Reference", Pearson Education, 4th Ed. 2009 ------------------------------------------------------------------------------------ EASY INSTALLATION: THIS IS THE RECOMMENDED INSTALLATION PROCEDURE We will be using python 3 with numpy and matplotlib. Python is self contained but numpy allows numerical calculations in an intuitive manner and matplotlib gives access to powerfull plotting routines. The easiest way to get python on your machine with numpy and matplotlib is to use a pre-packaged distribution such as Anaconda or Canopy. These should work "out of the box". I am using Anaconda: 1) go to https://www.anaconda.com/distribution/ (if you go searching for Anaconda, you are liable to get a Nicki Minaj video....) download the Anaconda version for your machine. If you have a 64 bit machine, you can get the 64 bit python 3.7 version : Anaconda will manage the compatibilities and alternate versions when required for numpy and matplotlib to work properly. The dowload page has versions for Windows, OSX, and Linux. This should cover everyone. 2) Follow the installation instructions. It is best to let Anaconda manage your python distribution and set environment variables properly. You do NOT need to get the "cheatsheet" by giving your email it's not particularly useful and you can find it on the continuum site if you care 3) At the bottom of the downloads page there select "Learn How to Manage Packages" This was formerly known as a conda 30 minute test drive". It links to http://conda.pydata.org/docs/test-drive.html This is worth reading and doing at least some parts to allow you to maintain your distribution. The following are important steps that you should definitely do. You will need to have a command prompt window open to type these commands. 3a) Update Anaconda: To find out what version you are running use: conda --version Since there are usually improvements and bug fixes, the first thing to do is update your conda version. To get the latest version use: conda update conda 3b) Create an environment to use for your homeworks and project. Anaconda will allow you to maintain multiple environments depending on which packages and versions of software you would like to use. Your "root" environment may be running a different version of python. However there may be compatibility problems with this version other packages you want to use so Anaconda will install an earlier version to resolve some of these problems when required. By creating an environment with all the packages you need, you allow Anaconda to sort this out. To create an environment called ents656env, type: conda create --name ents656env python numpy matplotlib 3c) Activate your new environment. To activate your environment type: activate ents656env You should see the name of the environment on your command propmt line. 4) You are now ready to go. To start the interactive development environment, type: idle To edit a file type: idle somefilename.py Anaconda maintains an environment directory where you can put your programs. NOTE: The default environment is "root" so you must activate the environment each time you start a command window!! if you forget to do this, numpy and matplotlib WILL NOT WORK! 5) For those who want to experiment, there are 1000's of packages available to expand python to do just about anything you can think of. You are welcome to explore, however PLEASE USE AN ENVIRONMENT WITH ONLY pyton, numpy, and matplotlib TO DO YOUR PROJECT AND HOMEWORK. I do not want to have to find and install your pet package to grade your project. Of course, if you want to turn in additional versions that do fun things and make pretty output or whatever, that is fine. Just make sure you turn in something I can grade as well. ------------------------------------------------------------------------------------ THE BLEEDING EDGE (i.e. what happens when cutting-edge techology is a little too cutting edge...) For those of you who want the latest and greatest versions of python, numpy and matplotlib you can get them directly from their websites: www.python.org/ www.numpy.org/ www.matplotlib.org/ These will usually be one or two iterations newer. You can find Windows and OSX installers for each package. HOWEVER, NOTE NOTE NOTE: It is highly likely you will need an earlier version of python, to make matplotlib and numpy work. AND there are SEVERAL addtional packages you are likely to need (see the matplotlib page) in addition to python and numpy to get everything to work. There are also SEVERAL incompatibilities that you will need to resolve. YOU ARE ON YOUR OWN WITH THIS. ------------------------------------------------------------------------------------ FOR LUNATICS ONLY: Scipy is another useful package that will let you write code similar to MATLAB. It is available at Scipy.org, but it also has several compatibility problems. You will want to investigate what is required for the "Scipy Stack". We will not be using this in ENTS656. Have fun. There are "alternative" python builds with special features and several pre-release versions. If you have a linux system you can even build your own. (this may also be possible with Windows and OSX....) "let the downloader beware"