Workshops 2023/24

Samuel at workshops

Learn everything you need to know for the first round at our workshops

Register now! (The registration link is at the bottom of this page, but please take your time to read through it first.)

We invite you to two workshop-weekends. They serve as an opportunity to get started with algorithms and competitive programming. No prior knowledge is required, though being good at maths and having some experience with programming can be an advantage. Participating at the workshops is free and we even reimburse your train tickets (see FAQ below).

The workshop is split up into part 1 and part 2. Part 1 and 2 each take take place at a whole weekend. You can choose whether you want to participate in Zurich or Lausanne. You can also attend part 1 in Lausanne and part 2 in Zurich or the other way around.

This year we will carry out the workshops in two separate tracks: Beginner and Advanced. In the Beginner track the focus will be on setting up C++ and the syntax of C++. While in the Advanced track the focus will be on algorithms used in the first round and solving theoretical tasks.

  • Part 1:
    • Beginner: We cover basic concepts needed to solve the first round in C++, such as: Input / Output, Data types, Control flow and Containers. We’ll hands-on practice solving tasks and discuss solutions.
    • Advanced: C++ introduction for participants only familiar with other programming languages, Scanline, Greedy, Ad Hoc, Runtime and Theoretical tasks.
  • Part 2:
    • Beginner: Introduction to Dynamic Programming, Greedy / Ad Hoc, Theoretical tasks. There will be lots of old SOI tasks to practice what you learned in this and the previous weekend.
    • Advanced: A presentation on Dynamic Programming and Graphs as well as lots of practical problem solving to apply the theory in practice.
Coding at our workshops


Part 1:

    1. 9: Lugano (Italian)
  • 7./8.10: Zurich (German, English)
  • 14./15.10: Lausanne (French, English)

Part 2:

  • 21./22.10: Zurich (German, English)
  • 4./5.11: Lausanne (French, English)

During all of these weekends, you can talk to us in German, French or English. The tasks will be available in all three languages. Even if you are not so fluent in, say, French and attend a French workshop, you probably will be able to follow most of it just fine.

Daniel at the Workshops

Overnight Stay

We provide the option to stay over night from Saturday to Sunday. We will stay in the local youth hostel. You’ll share the room with other people from SOI of the same gender.


As said, we do not expect any prior knowledge from you. But you will profit the most if you have learned the basics in some programming language before. We teach C++ even though C++ is not the easiest language to start with.

If you are completely new and want to get started as fast as possible, we recommend that you refer to the training page.


Interested? Then please fill in the registration form:

The number of spots is limited and we will consider registrations by order of registration date.

We can only guarantee an overnight stay in the youth hostel if you sign up before 30.09 . We will inform you whether you can stay overnight, if you choose to stay overnight and sign up later than the 30.09.

For questions ask us on

We are looking forward to seeing you!


Q: I am already very experienced in programming, does it make sense to attend?
A: Definitely. Don’t worry, there are a lot of tricky tasks and we are sure you will learn something new. However, you might skip part one.
Q: I am already very experienced in programming, should I skip part one?
A: If you already got more than 200 points in the first round and feel fluent in C++, then you can only come to the second part. While you will not learn as much, we are sure it will be a fun experience so we recommend you to attend anyways. Until we have decided, just sign up for the both parts.
Q: I have never programmed before in my life, will it be too hard?
A: It will be challenging, but you can do it if you are motivated. The first workshop is intended to serve as a head start. To profit the most for the second workshop, expect to put in some more time between the two workshops to catch up with the rest.
Q: Is the content available online somewhere?
A: For the theory, you can read our Wiki. We will publish most of the task set of the workshops late September. The lectures recorded for the online lectures are available outside the online lectures as well.
Joel at the workshops
Q: Does it make sense to come to the workshops if I can read up everything online?
A: Of course! You have the unique opportunity to:
  • meet like-minded people from all over Switzerland,
  • learn those topics from experts and let them help you debug your code and
  • enjoy a friendly but competitive atmosphere.

Besides the lectures and tons of time for coding and solving problems, we will also have some quizzes and card games.

Q: What do I have to pay?
A: Nothing! We reimburse the train tickets (up to half-tax fare), provide you with food and offer you an overnight stay for free. We are able to do this because we (mostly students) organize SOI in our free time, and our partners cover the expenses.
Q: Is it possible to attend at the beginners lecture onsite and take the advanced lectures online?
A: Yes you can. However it is neither necessary or intended. The workshops teach you a lot on how to tackle algorithmic programming problems in general. You can read up on most of the knowledge you missed by reading the SOI wiki. If you want to watch the advanced lectures regardless, you can just watch the recordings of them.