Welcome to Geo-Python 2020!

The Geo-Python course teaches you the basic concepts of programming and scientific data analysis 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. Geo-Python is organized by the Department of Geosciences and Geography at the University of Helsinki.

Geo-Python covers the necessary skills needed before continuing to the more advanced courses Automating GIS processes and/or Introduction to Quantitative Geology.

Open Access!

The course is open for everyone to follow online. 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.

University of Helsinki students

The Geo-Python course runs under two course codes in teaching period 1 at the University of Helsinki. Please sign up using only one of these course codes (not both)!

  • GEOG-329-1 for geography students

  • GEOK_3030 for geology students

Course format

The majority of this course will be spent in front of a computer learning to program in the Python language. The course consists of interactive lectures and weekly exercises. The exercises will focus on developing basic programming skills using Python and applying those skills to various analytical problems. Typical exercises will involve a brief introduction followed by topical computer-based tasks. For each exercise, you may be asked to submit the Python codes you have written, output figures and answers to related questions. You are encouraged to discuss and work together with other students while working on the weekly exercises. However, the exercises you submit must be completed individually and must clearly reflect your own work (in short, don’t copy paste from other students).

Online teaching

Please note that the course is organized completely online during the 2020 Autumn semester. Online support will be available throughout the course during the weekly exercise sessions and discussion channels in Slack. Details of participation in the exercise sessions will be sent out to enrolled students.

Course topics

After completing this course, the students understand basic programming concepts, are able to write short programs, and can manage, analyze and visualize scientific data using Python. The students also learn to use version control (git) and online repositories (GitHub) for documenting and communicating their work. Themes for each week are listed below. Read more about the weekly learning goals in here.

The course runs for seven weeks in the Autumn semester starting on the 2nd of September 2020. New materials are updated on this course page each Wednesday.




Basic concepts of Python and computer programs


Diving into Python


Repeating tasks and making decisions


Creating and using functions


Data analysis Part I


Data analysis Part II + Dealing with errors


Data visualization

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.