This repository collects slides, exercises and other supporting material used in Python language introduction courses that I deliver on-demand.
The material in this course covers:
- the basics of Python programming, up to the point of being able to do simple loops, file I/O, and basic data structure manipulation (parts 01 through 05);
- basics of NumPy and plotting with Matplotlib/Seaborn (part 07);
- table manipulation with Pandas (part 08).
- a short overview of how to run pleasantly parallel workflows with GC3Pie (parts 09 and 10).
The last parts are meant to be independent; those who already know Python programming may want to skip parts 01 through 05 altogether.
Basic computer programming knowledge (e.g., what is a variable, what is a loop) is assumed and not covered in the material: students should already be familiar with scripting languages (e.g. bash, perl) and have already written some computer programs.
The IPython notebooks in files *.EX.ipynb
(in folder exercises/
) contain
exercises to be solved during the course. A copy of the notebooks with complete
solutions, is available in the solutions/
subdirectory. A PDF slide deck
introduces and completements the first exercise notebook; for parts 7 and 8,
commentary and links are directly embedded in the notebook and there is no
separate slide deck.
So far, the material here has been used in a few occasions:
- at BrainHack Zurich on March 2, 2017.
- for the ScITS training Introduction to Workflows with Python at the University of Bern on June 8, 2017.
- for the ScITS training Introduction to Python for science at the University of Bern in various occasions in 2017 and 2018.
I welcome contributions from other Python instructors, programmers, students and enthusiasts in general :-). Please submit a pull request or send an email to mailto:riccardo.murri@gmail.com
The Python Course by the University of Zurich is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Permissions beyond the scope of this license may be available at mailto:contact@s3it.uzh.ch.