Skip to content

florence-bockting/python-class-25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course: General info

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

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) 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

About

Material for Python Class

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published