Skip to content

florence-bockting/python-class-24

Repository files navigation

Course: General info

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

Final project

  • see markdown final-project.md

Course plan (will be updated continuously)

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

About

Material for Python Class

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published