We plan to cover the following topics during our sessions:

  1. May 19 at 1:30pm in PandA Room 4 (download files for this session here)
    1. Visualization (resources)
    2. Shell (resources)
    3. Automation (swcarpentry lesson)
  2. May 29 from 10:30am to 16:30pm with lunch and coffee breaks in PandA Room 1131 (download files for this session here)
    1. Git (individual) (resources)
    2. Symbolic calculation (resources)
    3. Parallelization I (code vectorization) (resources)
  3. June 1 from 12:45pm to 6pm in PandA Room 1131 (download files for this session here)
    1. Parallelization II (mpi4py; resources)
    2. Git (remotes and collaboration, will also touch base with documentation, website making with GitHub and suggestions on being productive. resources)
      1. git remote and github
      2. conflict resolving
      3. using git with non-technical people
      4. a big picture
    3. Questions-and-Answers session before starting practical projects
    4. Followup projects

Installation instructions

We ask that you have installed the following software on your computer by Tuesday, May 16. If you run into installation difficulties, Travis, Qi, and Anupam will be available for help from 12:30–2:30pm on Wednesday May 17. On Friday, May 19, we will assume you have successfully installed the following software:

  1. The "Scientific Python" software stack
    1. Python 3
    2. jupyter
    3. numpy
    4. scipy
    5. pandas
    6. matplotlib
  2. Several miscellaneous Python packages
    1. mpi4py
    2. seaborn
    3. sympy
    4. Cython
    5. qutip
  3. Several miscellaneous pieces of software
    1. LaTeX (pdflatex and bibtex)
    2. git
    3. make
    4. the Bash shell

NOTE: Software Carpentry has fairly detailed installation instructions available on their website that can provide a general view of the installation process (although they provide instructions for some software we won't need and don't include instruction for some software we will need). In particular, you can follow their instructions for the scientific Python stack, git, and the Bash shell.

NOTE: We recommend you use the "conda" package manager (which comes with the scientific Python stack) to install the other Python packages, if possible.

NOTE: For Windows users, Qi recommends to use the Bash on Ubuntu on Windows system to install the required software in a light-weight virtualized Ubuntu system. Otherwise, there might be problems with environmental variable settings.

There are Python scripts available to verify that you have installed everything you need: You can download the scripts from the link and run them using your Bash shell. If the scripts run without any errors, congratulations - you are good to go! If you need help running the scripts, or run into problems, please come see us on Wednesday the 17th.