How do Russians learn competitive coding?

Quora Feeds

Active Member
Egor Suvorov

Source: I'm from Russia and know something about country-wide events.
Disclaimer: I'll describe things how they typically go in St. Petersburg (and, probably, in Moscow). I guess this also refers to other major cities across Russia and ex-USSR (such as Ekaterinburg, Kyiv, Saratov).
For example, by saying 'popular' I mean 'popular in St.Petersburg or Moscow' and so on.

First of all, there are Math Circles and math-specialized schools (the most famous is Saint Petersburg Lyceum 239, I guess). Math circles typically start in middle school (right after preliminary). For example, 239 has its own math circle, which takes place twice a week. Any 5th-grader (the first year of middle school) can attend it if he solves some amount of problems during entrance olympiad. Students are taught discrete math, combinatorics, algebra, etc. For example, math induction is taught in the three-weeks summer camp after first year and complex numbers are introduced after the second year (I was about 12 years old at this time). So, everyone who is interested in math gets a chance to study it well. That's one source of good competitive coders (I'll get back to it later).

Also, there is a good number of programming circles as well. That's where I learned Logo Writer at the age of seven. If you do well and ask for more and more to learn, teacher will eventually send you to math circle ("because math is very important for a programmer" was my inspiration) or to competitive programming circle. If you enjoy it, you start learning, solving problems, participating in contests and so on. Typically, strong circles are led by people who are good coders themselves (gassa, darnley and lots of others). For example, my first competitive programming circle was Gassa's, as far as I can remember. We solved problems, we challenged each other's solution at the end of class and it was really fun.

By now you know that there are a lot of circles in math and programming, but students typically need motivation to participate in competitions. For me it was primarily interest and spirit of the competition - I really enjoyed solving problems. I didn't like math a lot, but it really helped me on programming contests - DP is kind of applied math induction, graph theory appears a lot on competitions, math is a great train for your brain overall, etc. So, even if you don't like math a lot, but want to be good at programming, you'll probably be sent to math circle by your teacher (like I was).

Ok, but why someone would want to go to circles even if he is not really passionate about it? School science olympiads (website in Russian). There is a huge system of all-Russian olympiads in different subjects (math, informatics, physics, astronomy, literature, geography and so on). A lot of students compete there. Best performers come to a city each year and compete on-site, travel, accommodation, excursions and schedule are arranged and paid by the government. So, you can, at the very least, see different cities and brag in front of your not-so-lucky friends. But there is more: if you get diploma (something like top-45%) on the final stage, you'll most probably get accepted in any university of your choice (related to olympiad's subject, of course). There is no guarantee, but law requires universities to accept medalists before any others. So, the only situation in which you're unable to enter university is that there are more medalists applying to the same university than the university can accept. Actually, the whole process of applying to undergraduate programs in Russia is semi-standardized and very straightforward (don't get a false impression that the privilege is to not write cover letters or essays, because no one does), but that is not related to the question.

But there is even more! The All-Russian Olympiad in Informatics (ROI) held by The Ministry of Education and Science is not the only olympiad you can become a medalist and guarantee yourself a place in a university. There are much more, some of them are also huge (like the Open Olympiad) and give you some privileges too (you are also accepted into any university, but your priority is lower than ROI medalists'). This olympiad is prepared by people who prepare problems for ROI. Other olympiads are also held, but their priority is lower. Some olympiads in informatics are actually in informatics, not competitive programming (i.e. you should know what IP-address is), medalists of these also get some privileges. So, obtaining a medal on any olympiad is not only fun, but it'll guarantee you a place in any university, unless you try to enter some very fancy place where all medalists are applying to (like ITMO)

Ok, we're done with two major motivational factors (IMHO): interest and ability to care less about EGE scores (it's subjects exams, which is 'general' method of applying to university). I've also told about you about circles of all kinds, which enables everyone to learn competitive programming. One last thing.

It's LKSH (summer school in informatics). It's a three-week international summer camp (well, majority of students are from Russia). Students learn algorithms, learn to code, participate in contest and have a lot of fun. Not only from the education itself: LKSH has a lot of traditions and miscellaneous extracurricular activities: football, morning dance classes instead of mandatory physical jerks, cinema club, students and teachers stage performances (with light, music and all that staff that you see in theater).... Tons of them. This year 70% of medals on ROI were taken by former LKSH students. Almost everyone who've been in LKSH wants to go back because of the atmosphere and fun. Academic curriculum is also very strong. Let me list three people who typically go to LKSH as teachers every year: Andrew Stankevich (coach of legendary SPb ITMO teams on ACM ICPC), Sergey Kopeliovich, Pavel Kunyavskiy. Overall, LKSH is a great opportunity for enthusiastic students from minor cities to come and learn from the best of the best.

So, starting from school we have amazing summer camp, good motivation, lots of circles, good examples and inspirations (competitive programming is one of areas where Russians are really good). Any further questions? :)

See Questions On Quora

Continue reading...
 
Similar threads
Thread starter Title Forum Replies Date
N Study Buddy need someone to learn python together(beginner) Study Buddy 0
R Study Buddy Learn Python together Study Buddy 1

Similar threads

Top