Slides and notes for a workshop about programming for scientists.
- Session 1: Organizing code and data: Advanced Git, Github and more
- Session 2: How to make code beautiful: Python beyond basics
- Session 3: The Python Scientific Ecosystem
If you want to run the Jupyter notebooks, you can either clone the repository and a local Jupyter server or click the mybinder link above or Google colab links below.
The most interesting files in this repository:
├── abstract_and_sessions.rst more information about the workshop ├── README.rst this file ├── session1_git_and_workflow │ ├── git_commands a list of interesting GIT commands, sorted by importance │ ├── git-games GIT repository to try GIT commands while playing board games │ ├── git.txt see https://m.xkcd.com/1597/ │ ├── links.rst helpful links about GIT │ ├── notes.rst personal presenter notes, not sure if helpful for others, but this session was mostly presented on the white board, so this is the only available material │ ├── slides.pdf slides as PDF │ ├── slides-expanded.pdf slides with interactive items as separate page │ └── terminology.rst GIT terms covered in the workshop and those not covered ├── session2_python_and_programming │ ├── slides_session2.html slides exported to HTML, unfortunately SVG files broken, view HTML │ ├── slides_session2.ipynb slides as Jupyter Notebok, run it in Google colab │ ├── slides_session2.slides.html slides exported to HTML, unfortunately SVG files broken (slightly different format, same thing as slides_session2.html), view HTML │ └── slides_session2.slides.pdf slides as PDF └── session3_scientific_ecosystem ├── code-samples │ └── slow_average.py Exercise: Find out why this code is terribly slow! ├── example-notebook.ipynb Example Jupyter notebook with some nice features, run it in Google colab ├── links.rst helpful links about scientific Python ├── slides_session3.html slides exported to HTML, unfortunately SVG files broken, view HTML ├── slides_session3.ipynb Slides for Session 3 as Jupyter Notebook, run it in Google colab └── slides_session3.slides.html slides exported to HTML, unfortunately SVG files broken (slightly different format, same thing as slides_session3.html), view HTML
Not covered in this workshop, but maybe worth looking into:
- f-strings
- decorators
- context managers
- iterators
- generators
- data scraping
- packaging and package managers
- virtualenv, conda env, pipenv, ...
- from __future__ import braces
Prepared in notes and slides, bot not really coverd:
- GIT
- more advanced commands, see terminology.rst
- workflow
- large files
- piplines and workflow for data science
- GIT interals
- testing
- logging