IMPRS-gBGC course 'Python'

Category: Skill course
Credit points: 0.2 CP per course day


1.  Concept

This course addresses everybody who is interested in learning Python from scratch. The course module 'The very basics' (level A1) will be offered for people who have no or little experience with programming. A little theory will be presented and exercises will be carried out.
If you have experience with programming but you didn't or rarely used Python, the course module 'Python - The basics' (level A2) might be interesting. The module will contain lectures and practicals.
A practical module 'Hands on training' (level B) will take place.
In every module will be time for questions and answers and hands-on training based on the requests you write in the comment field of the registration form. Feel free to approach us with your data.
The course is organized in a modular structure to give participants time to practice by themselves.


2.  Organizational issues

Instructors: Dietrich Feist, Ina Burjack
Date: March 16-18 and April 6-7, 2016
Starting time: 9.00 am
Place: Seminar room B0.002 (MPI-BGC)

3.  Content of the course

L = Lecture, P = Practical

March 16 The very basics (Level A1)Ina Burjack

The principle of programming


From a calculator to an own script
Participants will learn the way of thinking when writing programs. We will follow this steps:

  • use the Python console like a calculator
  • addressing variables
  • writing code in a script
  • generating output
  • using loops and conditions
March 17  Ina Burjack

The principle of programming II, from conditions to functions


Using functions

  • use functions without and with parameters
  • write own functions and use them in another script
March 18 Python - The basics (Level A2)Dietrich Feist

No need to re-invent the wheel: the Python Standard Library


Participants learn how to employ the Python Standard Library to solve common problems like

  • string manipulation
  • complex datatypes
  • formatted I/O
  • OS-specific commands
  • time and date calculations
April 6 Advanced programming techniques (Level B1)Dietrich Feist, Ina Burjack
amL, P
  • Advanced flow control: error handling with try/except
  • Object-oriented programming (OOP) and modules
pmL, P
  • vector and matrix operations with numpy
  • reading binary data in netCDF and HDF format
April 7 Scientific applications with Python (Level B2)Dietrich Feist, Ina Burjack
amL, P
  • statistics and regression with scipy
  • plotting data in 2D and 3D with matplotlib
pmL, P
  • geographical data sets and map creation with basemap
  • using SQL databases with Python (optional, participants should have basic knowledge of SQL)



4.  What you need to prepare

Bring a laptop and make sure that Python is running on it.

You can download it here:

Please also make sure that you can access the internet via WLAN (BGC-users, if you have a BGC-account; BGC-guests, if you don't have an account)


5.  Material

Example scripts by Dietrich Feist


6.  Feedback

Here the feedback of 4 out of 11 participants can be found. Statistics and statements should not be taken as an exhaustive or exclusive list.


Go to Editor View