Workshops 2021/22

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). For attendance at the on-site workshops we require a COVID certificate.

The workshop is split up into part 1 and part 2 and a follow-up online session (referred to as part 3). Part 1 and 2 each take take place at a whole weekend. You can choose whether you want to participate in Zurich, Lausanne or participate on one of the alternative dates in Bern or online. Part 3 will only take place online on a Sunday afternoon and early evening. During the Part 3 online workshop you’ll be able to ask questions, have some extra training and get another lecture.

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.
  • Part 3:
    • Ask questions about the topics of the previous workshops or get help with a task you’re stuck on.
    • Bonus lecture on a previously uncovered topic
    • Some additional tasks to practice
Coding at our workshops


Part 1:

  • 23./24.10: Zurich (German, English)
  • 23./24.10: Lausanne (French, English)
  • 30./31.10: Bern (German, English)
  • 30./31.10: Online (German, English, French)

Part 2:

  • 30./31.10: Bern (German, English)
  • 6./7.11: Zurich (German, English)
  • 6./7.11: Lausanne (French, English)
  • 13./14.11: Online (German, English, French)

Part 3

  • 14.11: Online (German, English, French)

Note: You can only take part in either part 1 or part 2 in Bern, since both parts are only offered on the same weekend. You need to do the other part in Zurich, Lausanne or online.

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. During the overnight stay only the protective measurements of the youth hostel apply.


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.

Protective Measurements

Due to the ongoing coronavirus pandemic we take several measures during all onsite workshops:

  • Participants are required to have a Swiss Covid Certificate and need to be able to show it together with a identification document. Information about the swiss covid certificate
  • Inside the building, wearing a mask will be obligatory. We will eat lunch outdoors and participants who want to practice social distancing during lunch will have enough space to do so.
  • In case the national covid guidelines become more restrictive or the location where the workshop is taking place has additional requirements, we’ll inform you ahead of the workshops about the additional restrictions.
  • Even with a valid covid certificate, participants showing symptoms are not allowed to participate.


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 Wednesday 20.10 . We will inform you whether you can stay overnight, if you choose to stay overnight and sign up later than the 20.10.

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.
Q: I can’t decide whether I should attend in person or online. What considerations could help me decide?
A: It’s strongly recommended to participate on a workshop onsite. A big part of the workshop consists of problem solving during which leaders will be available to help whenever you get stuck. While there are also leaders available online as well, from experience we can tell that helping online is not as effective as in person. Participating at the onsite workshops is also a great opportunity to meet lots of people with similar interests.
Q: Part 3 and the online version of part 2 overlap. Will this be an issue?
A: No. Part 3 has some additional lectures and tasks to solve, both of which will be available after the workshops as well. The only thing you miss, is the oppurtunity to ask questions 1 week after the workshops, during which you had a lot of time to process everything newly learned. But you are still as welcome as always to ask questions on Discord or ask whether some leader can join you in the voice chat and answer some questions individually.