Welcome to Geo-Python 2019!

The Geo-Python course teaches you the basic concepts of programming using the Python programming language in a format that is easy to learn and understand (no previous programming experience required). Each lesson is a tutorial with specific topic(s) where the aim is to gain skills and understanding how to solve common data-related tasks using Python programming (see schedule & learning goals). Course is organized by the Department of Geosciences and Geography at the University of Helsinki.

Course format

The majority of this course will be spent in front of a computer learning to program in the Python language and working on exercises. During Teaching Period I, the Automating GIS processes and Introduction to Quantitative Geology courses will meet together and focus on learning the basic concepts of programming using Python programming language.

The computer exercises will focus on developing basic programming skills using the Python language and applying those skills to various problems. Typical exercises will involve a brief introduction followed by topical computer-based tasks. At the end of the exercises, you may be asked to submit answers to relevant questions, some related plots, and/or Python codes you have written or used. You are encouraged to discuss and work together with other students on the laboratory exercises, however the laboratory summary write-ups that you submit must be completed individually and must clearly reflect your own work.


Lessons and practical exercise sessions are held at the University of Helsinki during the autumn semester. Please find teaching dates and rooms under general info). The course runs for seven weeks, and we publish updated course materials at these pages every Wednesday morning before the lesson. Themes for each week are listed below. Read more about the weekly learning goals in here.

Week Theme
1 Basic concepts of Python and computer programs
2 Diving into Python
3 Repeating tasks and making decisions
4 Creating and using functions
5 Data analysis Part I
6 Data analysis Part II + Dealing with errors
7 Data visualization

Open Access!

The course is open for everyone. The aim of this course is to share the knowledge and help people to get started with their journey for doing science more efficiently and in a reproducible manner using Python programming.

Step by step instructions with cloud computing!

The materials are written in a way that you can follow them step by step exactly as they are written, as long as you use the cloud computing resources that we provide for you (namely JupyterLab Notebooks using Binder or CSC Cloud computing resources). Read more about our cloud computing environment from here. If you work from your own computer, you need to adjust the file paths to the data accordingly.

For teachers

If you would like to use these materials for your own teaching or develop them further, we highly support that. Please read more about how to do it from our licensing terms.