Python is a popular language for research computing, data science AND and general-purpose programming. We recommend using Anaconda, an all-in-one installer of python and many of it's most useful packages for scientific computing. Please make sure you install Python version 3.x (e.g., 3.6 is fine).
We will teach Python using the Jupyter notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).
Windows
Open (https://www.anaconda.com/download/#windows) with your web browser.
Download the Python 3 installer for Windows.
Install Python 3 using all of the defaults for installation except make sure to check Add Anaconda to my PATH environment variable.
macOS
Open (https://www.anaconda.com/download/#macos) with your web browser.
Download the Python 3 installer for OS X.
Install Python 3 using all of the defaults for installation.
Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer.
We will use conda to install an additional package, cvxpy, that we'll need to work with in this workshop.
Windows
Open the Anaconda prompt
Copy/paste the following command into the prompt and press Enter: conda install -c cvxpy
When you see Proceed ([y]/n)?, type y and press Enter.
macOS
Open a terminal window (Find the "Terminal" app in you Applications).
Copy/paste the following command into the terminal and press Return: conda install -c cvxpy
When you see Proceed ([y]/n)?, type y and press Return.
You can download the all the Jupyter notebooks and files we need for the workshop from Github.
These workshop materials are of three parts:
Introduction to Python (Basics, Numpy and Pandas)
Regression and Visualisation (sklearn and statsmodel)
Basic Optimisation (using `scipy`, `cvxpy`, and `gurobi` (optional))
If you encounter any errors with either of the above commands, please let us know via email at jessica.leung@sydney.edu.au