Welcome to Geo-Python 2023!#

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 jointly organized by the Master’s Program in Geography and the Bachelor’s Program in Geoscience at the University of Helsinki.

Geo-Python covers the essential skills needed to continue to more advanced courses such as 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 towards doing science more efficiently and in a reproducible manner using Python programming.

University of Helsinki students

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

  • GEOG-329-1 for geography students

  • GEOK3001 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 must clearly reflect your own work (in short, don’t copy/paste from other students).

On-site teaching

Please note that the course is organized completely on site during the 2023 autumn semester. Online support for University of Helsinki and Aalto University students will be available in the discussion channels in Discord.

Course topics#

After completing this course, students will (1) understand basic programming concepts, (2) be able to write short programs, and (3) manipulate, analyze, and visualize scientific data using Python. Students will also learn to use version control (git) and online repositories (GitHub) for documenting and sharing their work. Themes for each week are listed below. You can also read more about the weekly learning goals.

The course runs for seven weeks in the autumn semester starting on the 4th of September 2023. New materials are updated on this course page each Monday.




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 presented 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). If you would like, you can find more information about our cloud computing environment. For those planning to work on the course materials on your own computer, please note that you will 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.