This is the landing page for the class “Scientific Programming in Python” held in the years 2018-2020 at Osnabrück University.

Other pages

Recordings

All lecture recordings from 2018 – 2020 can be viewed on Youtube:

Lecture YouTube 2018 Youtube 2019 Youtube 2020
1) Introduction View Part 1, Part 2 Organisation, Why Scientific Programming?, Our Path, Whirlwind Tour, Course Infrastructure, Setup: IDEs, Setup: Install locally, Setup: Jupyterlab, git intro, The shell, git practice, Howto Homework
2) Basic Python View Part 1, Part 2 Basic Types, Operators, Functions & Methods, Collections, Control Flow, Functions, Classes, Caveats
3) Advanced Python View Part 1, Part 2 Data Model, Iterators, Properties, Exceptions, Duck Typing, Factory Methods, Generators, Context Managers, Lambda Expressions, Comprehensions, Strings, Decorators
4) Numpy View Part 1, Part 2 Intro, Arrays, Masking, Math Operations, Indexing, Extending Arrays, Random Access, Printing,
5) Code Quality, IDEs, Debugging Debugging in Pycharm (week 10) Code Quality, Errors, Files&Imports, APIs, PyCharm, Debugging, PyCharm II,
6) Matplotlib View Part 1, Part 2 Intro, Plotting Functions, 2D Plots, Distributions, Annotations, Colors, Misc, Limits, Ticks, Legends
7) Basic Pandas View Part 1, Part 2 Series & Dataframes, Indexing & Assignment, Reading in, Ufuncs & Aggregations, GroupBy
8) Pandas: Cleaning Data View Part 1, Part 2 Missing Values, Deduplication, Categorical Data, Discretizing, Numericalizing, Pandas Plotting, Merging & Joining
9) Pandas: Analyzing Data & Time Series View Part 1, Part 2 Timestamps, Reading Time Series, Shifting & Windowing, Date Ranges
10) Statistical Visualization (ggplot, seaborn) View Part 1, Part 2 Intro, Step back, Library Comparison, Pandas Plotting, plotnine/ggplot, seaborn, seaborn&matplotlib,
11) Statistical Modeling (statsmodels) View Part 1, Part 2 Linear Models, Linear Regression, Regression: Sampling Distribution, NHST, Regression Assumptions, Multiple Regression,
12) Experiments (expyriment) View Part 1, Part 2 Intro, GUIs: PyGame, GUIs: Psychopy, GUIs: Expyriment, Experiment Design, Timing, Logging, Full Experiments, Outro, Shuffling
Mathematical computation using Scipy Linear Algebra, Integration, Calculus, Signal Processing, Fourier Transform, Statistical Modeling
Study: A to Z, Scikit-Learn, Parallelism View Multiprocessing vs Multithreading, Multithreading, Multiprocessing.Process, Multiprocessing.Pool, High Level Multiprocessing
Interactive Visualization (Widgets, Altair) View Plotly, Jupyter Widgets, Altair
Data Exploration, Performance-Optimization View Exploratory Data Analysis (week 9), Data Voyager (week 10), Serialization, Numba, Jax, Cython

To view the Jupyter Notebooks corresponding to the videos of the respective years, access the lecture repository’s state from 2018 or 2019, respectively. To access the videos in the better Opencast-player, make sure you’re logged into Myuos before clicking the link.


Sub-Pages

Scipy Course Material

2020 Lecture 1: Introduction RecordingsOrganisation, Why Scientific Programming?, Our Path, Whirlwind Tour, Course Infrastructure, Setup: IDEs, Setup: Install locally, Setup: Jupyterlab, git intro, The shell, git practice, Howto Homework Introduction Slides Whirlwind Tour (static) Homework sheet Lecture 2: Basic Programming with Python RecordingsBasic Types, Operators, Functions & Methods, Collections, Control Flow, Functions, Classes, Caveats Jupyter Notebook (static) Homework sheet Sample solution Practice Recording Sample Solution Recording Lecture 3: Advanced Programming with Python RecordingsData Model, Iterators, Properties, Exceptions, Duck Typing, Factory Methods, Generators, Context Managers, Lambda Expressions, Comprehensions, Strings, Decorators Jupyter Notebooks (static) [Read More]