This online course provides an introduction into Python for Bachelor and Master students at the University of Dortmund and introduces several tools to enable reproducible and reliable programming, including version control with git and collaborative programming via GitHub. By the end of the course, students should be capable of working on a project using Python and independently acquiring new Python knowledge.
- Start Date: Thursday, August 22, 2024
- End Date: Thursday, August 29, 2024
- Time: 9:00-12:00 & 13:30-15/16:00
- Online Course: Zoom Link was provided in extra e-mail
- Submission Project Work: September 30, 2024
- see markdown
final-project.md
Topic | Content | course material | Exercises | Day |
---|---|---|---|---|
General course information | - Course info - Final project - Tools that we use - Interesting resources - Create a conda environment - Create a git repository - Start with Jupyter Notebook |
general-info (00) | (none) | 22.08 |
Intro into Python | - Arithmetic operators - Expressions - Arithemtic functions - Strings - Values and Types - Variables - Installing & importing libraries |
intro-python (01) | exercises-types_operators | 22.08. |
Data structures I | Strings - Indexing - Slices - Immutable - Methods - Regular expressions |
data-structures1 (04) | exercises-ds (Strings) | 22.08. |
Data structures I | Lists - list operations - list methods - list comprehensions - Working with lists and strings - Objects, Values, & Aliasing |
data-structures1 (04) | exercises-ds (Lists) | 23.08. |
Data structures II | Tuples - Tuple assignment - Argument packing - Zip |
data-structures2 | exercises-ds (Tuples) | 23.08. |
Control flows | Conditionals - if-statement - if-else statement - chained conditional - nested conditional - keyboard input Iterations - for-loop - looping and counting - while, break, continue |
control-flows (03) | exercises_cf | 23.08. |
Functions | - function definition - Parameters - Arguments ([non] default) - variables and parameters are local - traceback - fruitful and void functions - lambda functions - callables |
classes-functions | 23.08. | |
Data structures II | Dictionaries - some general notes - usage of in for dictionaries- looping and dictionaries - Dictionaries and lists - Accumulating a list |
data-structures2 | 26.08. | |
Classes | - class definition - Instantiation & calling - instance vs. class variables - inheritance |
classes-functions | exercises-classes | 26.08. |
Spyder IDE | - core panes - toolbar - getting started - customize Spyder - first modules |
intro-spyder | 26.08. | |
Python Packaging | - motivation - python packaging with hatch - configuration of hatch - directory structure - package installation - import your package - create a git repo of your package |
python-packaging | 26.08. | |
Data wrangling with pandas | - DataFrame - Basic operations - loading, printing, saving DataFrames - Select&Filter - Aggregate & group-by - reshaping: sorting, pivoting |
intro-pandas | 27.08. | |
Data visualization with pyplot and seaborn | Pyplot - figures - create new figure - indexing subplots - properties of axes - working with data Seaborn - relational data - distributions - categorical data |
plotting | 27.08. | |
Scientific computing with numpy | - arrays - concatenation and stacking - indexing - adding dimensions - basic operations - broadcasting - additional useful operations - generating random numbers - getting help |
intro-numpy | TBA | |
Version control with git | - Motivation - Initialize a repository - A first basic workflow in git - Commit history - Readme file - Restore a deleted file |
version-control (03) | TBA | |
Misc | -performance programming -green computing -documentation -software licensing -linting -testing |