Skip to content

Latest commit

 

History

History
81 lines (64 loc) · 5.99 KB

README.rst

File metadata and controls

81 lines (64 loc) · 5.99 KB

MIT License open in mybinder

Programming using Python, GIT and others in science

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

Overview of interesting content

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

More interesting topics

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