Below are suplementary resources provided in addition to the lecture materials within the courses.
- Python Switcher's Guide: Help to migrate code from IDL to python.
- Stack Overflow: A useful resource to search for answers (and ask questions if you can't find the answer). Solutions and responses submitted by users are fairly well moderated.
- Pycharm is a popular code editor that helps enforce python standards and performs basic syntax and error checking.
- Jake Van der Plas's excellent learning resource Python Data Science Handbook (also available in print version)
- The official Python Tutorial
- Learn X in Y Minutes: A one-page site that covers most syntax and structures of the Python 3.x series.
- PyVideo
- PyCon Conference Videos:
- Galleries are super duper useful to help figure out how people did things. Rather than writing something from scratch, you can find a good example of what you're trying to do and start with that code. Good examples are the Matplotlib gallery of plotting examples, and the Heliopython gallery of recipes for heliophysics data analysis supported by heliopython.org
Focusing on interactive plotting in web browsers, PyViz provides:
- Project Euler: The motivation for starting Project Euler is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context. A great way to challenge yourself and have honing your programming skills!
- Advent of Code: Great practice to help you continue to learn python. Challenges get more and more difficult (and aggravating). You can compare your (horribly inelegant) solution with others in the community, and learn how experienced programmers were able to tackle the problem.
- Making code citable: https://guides.github.com/activities/citable-code/ describes how to use Zenodo to generate a DOI for your code so that people who use your code can cite it.
- Git Community Book
- Pro Git
- A Visual Git Reference
- Git Cheat Sheet
- Pyviz is a coordinated effort to make data visualization in Python easier to use, easier to learn, and more powerful.
- Cloud-Based Jupyter Notebook Services:
- Google Colab allows you to run python code without having it locally installed, has GPU capabilities.
- Microsoft Azure
- Project Jupyter
- Binder which allows one to turn a Git repository into a collection of interactive notebooks.
- Language Specific
- Python 2 or 3 also provides a utility to aid in converting Python 2 code to 3 beyond its guide of writing 2/3 compatible code. Python Clock: The Official Countdown