Skip to content
Switch branches/tags
Go to file

Before you start

This site contains a set of tutorials aimed at providing an introduction to programming for beginners. The focus of the material is not on teaching the details of one programming language but rather to provide a broad overview of key concepts about programming. All tutorials use Python as the implementation language. The tutorials are intended to be especially useful for students in Social Sciences as reflected in many of the examples and applications covered.


  1. Preliminaries.
  2. Introduction to Programming.
  3. Values, Variables, Operators, and Functions.
  4. Iteration and Conditionals.
  5. Basics of Algorithm Implementation.
  6. Object Oriented Programming.
  7. Data Handling: The EU's Labour Market.
  8. Dynamic Programming: A Simple Life-Cycle Model with Human Capital.


These tutorials have been developed by students at the University of St. Gallen (Switzerland).


  • Samuel Adams.
  • Toma Baev.
  • Jofre Bagan.
  • Philipp Beck.
  • Sebastian Behrens.
  • David Böckling.
  • Ralf Blöchlinger.
  • Alexandre Buchel.
  • Ryan Cheng.
  • Li An Chia.
  • Alexandre Cruzado.
  • Enis Dakoumi,
  • Grégory Demaurex.
  • Titouan Dupleich.
  • Ruben Ernst.
  • Simon Haugeberg.
  • Bryan Jacot-Descombes.
  • Fabia Simone Jenny.
  • Lucie Keller.
  • Konstantin Kujundzic.
  • Ee Xuan Lee.
  • Curdin Lieberherr.
  • Cher Lin Charis Low.
  • Samuel Quick Lynaugh.
  • Julia Matas.
  • Gustaf Wilhelm André Nordenlöw.
  • Alessandro Pedrazzini.
  • Orlando Saxer.
  • Jeremie Schnorf.
  • Matthias Schuch.
  • Mike Sipofo.
  • Paul Spicher.
  • Jonas Streule.
  • August Strotz.
  • Jérôme Studer.
  • Philemon Thalman.
  • Nicola Urech.
  • Alessandra Sofia Vollmer.
  • Aline Zimmermann.


alt text This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.


Created and developed by students at the University of St. Gallen.




No releases published


No packages published