This online course provides an introduction into the programming language Python for students at the University of Dortmund. The course 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, February 20, 2025
- End Date: Wednesday, February 26, 2025
- Time: 9:00-15:00 (incl. breaks)
- Location: Online (Zoom Link will be provided via e-mail and announced in Moodle)
- Submission Project Work: March 31, 2025
- 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) | 20.02 |
Intro into Python | - Arithmetic operators - Expressions - Arithemtic functions - Strings - Values and Types - Variables - Installing & importing libraries |
intro-python (01) | exercises-types_operators | 20.02. |
Data structures I | Strings - Indexing - Slices - Immutable - Methods - Regular expressions |
data-structures1 (04) | exercises-ds (Strings) | 20.02. |
Data structures I | Lists - list operations - list methods - list comprehensions - Working with lists and strings - Objects, Values, & Aliasing |
data-structures1 (04) | exercises-ds (Lists) | |
Data structures II | Tuples - Tuple assignment - Argument packing - Zip |
data-structures2 | exercises-ds (Tuples) | |
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 | |
Functions | - function definition - Parameters - Arguments ([non] default) - variables and parameters are local - traceback - fruitful and void functions - lambda functions - callables |
classes-functions | ||
Data structures II | Dictionaries - some general notes - usage of in for dictionaries- looping and dictionaries - Dictionaries and lists - Accumulating a list |
data-structures2 | ||
Classes | - class definition - Instantiation & calling - instance vs. class variables - inheritance |
classes-functions | exercises-classes | |
Spyder IDE | - core panes - toolbar - getting started - customize Spyder - first modules |
intro-spyder | ||
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 | ||
Data wrangling with pandas | - DataFrame - Basic operations - loading, printing, saving DataFrames - Select&Filter - Aggregate & group-by - reshaping: sorting, pivoting |
intro-pandas | ||
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 | ||
Scientific computing with numpy | - arrays - concatenation and stacking - indexing - adding dimensions - basic operations - broadcasting - additional useful operations - generating random numbers - getting help |
intro-numpy | ||
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) | ||
Misc | -performance programming -green computing -documentation -software licensing -linting -testing |