Learn how to solve algorithmic problems
Pass the FAANG-interview
Starting at 165$ per month
Individual online classes with a tutor
Evolve your algorithmic thinking, so you can get award-winning positions at school competitions in IOI format.
Students and adults
Middle school and high-school students
Elementary school students
Learn basic programming principles using games, learn Python syntax and solve your first algorithmic problems.
Learn how to solve algorithmic problems for interviews at Google, Facebook, Microsoft, Amazon etc.
Coding games and Python basics
Algorithms in Python and C++
Algorithms in Python and C++
Award-winner of the National School Olympiad, bronze medalist of the ICPC World Finals, coach of three ICPC World Finals medalist teams, PhD in Computer Science.
Mikhail Rubinchik

SPGuide Founder
Many students on their way to studying algorithms expect fast growth and quick results. But the reality is that everyone moves at their own pace and the speed of each one depends on many factors. An intelligent but lazy student is likely to develop skills slower than an "average" but diligent student.

Studying algorithms is not a fast process, but it is a very interesting one, and it can surely be handled by motivated students. It is not just about competitions and achievements, but it is primarily about your ability to think, about your love for solving complex problems, about the community of cool and smart people and, of course, about your opportunities.
So join us and we will support you on your way.
Mikhail Rubinchik, SPGuide Founder
Weekly you can choose the convenient days and time for your classes and tell us about your preferences
in your personal chat on Telegram. Our schedule managers find a tutor for you, make a schedule and confirm it with you.
You are expected to have two-hour classes that consist of two parts.
The first part - work on the website. According to your level, you are offered problems that you may read and then solve.

The site monitors the timing, which helps not to linger too long over one problem, this skill is especially useful in all competitions and interviews.

This way you "warm up" before the class with a tutor and use the time as efficiently as possible.
Educational process
Class on the site
Class with a tutor
The second part - individual online class with a tutor. All our tutors have experience in algorithms. Together with a tutor you analyze the difficult parts you have encountered in problems during a class on the site, after that a tutor helps you "invent" the required theory, teaches you to write proper code and find bugs.
About our students
the oldest
the youngest
Student reviews
Sign up for the Introductory class
per month
1 hour — individual online class with a tutor
1 hour at the site
Why do I need a class on the site?
We believe that studying only with a tutor is not enough for effective learning. Apart from this, a student has to work a lot on his own. Some students can not force themselves to study, so we embedded the guided classes directly into the website. These classes are essential to prepare you for a class with a tutor, to accumulate questions and use the study hours more efficiently. If you solve a lot of problems on timus.online on your own, you can skip the classes on the site. Only in this case :) If you do not solve problems out of classes, please do not skip it on the site.
What is the study program?
We don't have a certain study program in the generally accepted form. The main problem of any program is that it is difficult to make a universal plan, to set the topics, its order and time frame for each of them. The topics and pace will be different for each student. In SPGuide we stick to the practice-oriented approach and focus on the blank sides. You do not study the things you already know, but focus on topics you did not manage to solve the problems. For example, there are 50 problems on timus.online but you pass only 35 of them, then we find out the topics of the remaining 15 problems and discuss them in the next class.

That's why there is no general study program, but there is one built for each student individually. Thus, the more problems you try to solve, the easier it is to identify the topics you know well and the topics that are your weak points. With our approach you are expected to have a small but capacious theoretical part and extensive practice that suits your level.
Another feature of our school is that we first "go" widely, and then deeply. The classical approach is completely different: you study the first topic from the beginning to the end, then the second, the third, and so on. In our school we discuss the first topic briefly, then the second one in the same way, etc. So you almost in no time will have an idea of how to solve the simplest problems. Undoubtedly, at first there will be only topics with simple problems so that you can cope with them, then we move to more complex ones and step by step we learn these topics as well.
Why should I read the problems?
The main point is to make you think about problems in the background. Since we give some problems only for reading, it is likely that one way or another you will think something out of the class. First of all, it increases the chances that later you will solve the problem faster, when you see it next time. Secondly, for somebody it is a boost that makes you solve something at the timus.online out of main classes :) After all, you may think "Oh, it seems easy. Maybe I should try to solve it".

There is another point, which at the beginning is unclear but then becomes more noticeable. The complexity of the problems is a personal thing. For some people a problem seems to be complex, while for others it is quite simple. One student can easily solve a problem that many others find difficult. Therefore, it is impossible to say for sure what problem you have to solve next. Just imagine, we give you 1-3 problems during the class, and if you can't solve it, you will probably give up. Let's look at another situation: we give you 1-3 problems to solve and 5 more to read, then even if you do not solve those 1-3 problems, you will take a look at the others that may seem easier. Our goal is to give you an opportunity to look at a larger number of problems, so that you can see that there are also simple ones, and there is no need to be afraid of going forward.
Why do I solve simple problems in a class?
You have to solve both simple and complex problems. Difficult ones can not be solved out of the classes, while simple ones can be. Therefore, depending on the quality and quantity of individual work at home, we build a class time differently for each student. If you solve a lot of problems at home on your own, it means you can handle a significant amount of the elementary problems, so during the classes we will choose more complex ones. If you do not solve problems yourself out of the classes, it means that a study hours is the only time when you can solve problems, so we have to start from the simplest ones. So if you want to get rid of this problem then solve simple problems outside the classes :)

If you're not sure yet that you want to study here, but you have a few questions, then ask us! Send a message to Telegram, we will be happy to answer:)
Contact us :)