KAP's blog

By KAP, history, 18 months ago, In English

For some years already I run an online course in programming, algorithms, and so on — algoprog.ru. Now I introduce an English-language version:

algoprog.org

It is an online course intended for a wide range of students, from complete beginners (even those who do not know any programming language) to relatively advanced and knowledgeable students. The course comprises a set of topics, from basics of programming (in Python) to really advanced algorithms and data structures. Most of the topics have a link to theory (currently mostly still to Russian-language theory, but I'm working on it), and then some problems (taken from informatics.msk.ru or Codeforces, with English statements).

Unlike the usual sites with an archive of tasks, while studying on algoprog you also get feedback from me. I will look throught you solutions, accept or ignore them, give advice how it could be written better, help with solutions that do not pass tests, etc. Also, for most problems there are "good solutions" that you can look at after you solve the problem, and there is a "Find a bug" section where you can practise finding bugs in other students' solutions. And, of course, you can always contact me about any questions that arise in the course of your classes, or about programming in general.

In particular, the point of the course is not only to learn how to pass all the tests, but also how to write clean and understandable code, and how to find bugs in the code without hunderds of submissions to the testing server.

I think that the course will be useful for all codeforces users with rating below 1700-1900 (or maybe higher too), and I'll be glad to see you in the course.

The detailed information about the course: https://algoprog.org/material/about!en

The materials of the course (topics, theory and problems) is available for free even for unregistered users. If you want to actually start studying on algoprog, that's for a fee (currently 2000 Russian rubles per month, that's approx. USD 32). Full payment info and conditions: https://algoprog.org/material/pay!en

UPD: Sometimes there are problems when paying with a non-Russian bank card, but generally such payments work. UPD2: There are two payments providers for non-Russian bank cards, both are used by some users.


About me:

My name is Petr Kalinin, I am senior developer at Yandex. I am bronze medalist of the International Olympiad in Informatics (IOI) 2001, and gold medalist of IOI 2002; as a member of Nizhny Novgorod State University team, I twice participated in the finals of the ACM International Collegiate Programming Contest (ACM ICPC).

In one form or another, I have been teaching programming to schoolchildren since I graduated from school in 2002 (I went as a teacher to various summer schools, etc.); I am teaching a separate course since 2013.

Among algoprog students of different years are (sorted by algoprog rating):

Stefan2417https://algoprog.org/user/505865
GandarfGamerhttps://algoprog.org/user/315118
EndRayhttps://algoprog.org/user/322702
Aleks5dhttps://algoprog.org/user/254947
MADKIRUShttps://algoprog.org/user/267400
Riladavinhttps://algoprog.org/user/260070
_DAC_https://algoprog.org/user/491124

...not to mention my brother KAN, who was in a sense my very first student, long before algoprog came into existence.

  • Vote: I like it
  • +126
  • Vote: I do not like it

»
18 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Damn I was interested up until the price part because it sounded a lot like USACO Guide and CP Algorithms but later it just sound like tutoring. Good luck though!

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Btw, you can browse the site (including theory and problems) for free; I should add it to the post.

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it -17 Vote: I do not like it

      Ah, so your advice and feedback takes money then, but the website problems and theory is free? I feel like if you make a course, then make some type of limitation for people who haven't paid for the course (like can view max 10 problems or something), because then it makes me question the monetary value of feedback as many people from discord servers can help with this for free.

      • »
        »
        »
        »
        18 months ago, # ^ |
          Vote: I like it +38 Vote: I do not like it

        Average discord enjoyer doesn't have IOI gold medal

      • »
        »
        »
        »
        18 months ago, # ^ |
        Rev. 2   Vote: I like it +11 Vote: I do not like it

        In fact, I don't like getting money just for access to some information (theory, problem sets, etc.). I believe that such learning information should be reasonably free.

        There is quote that I like very much from a famous book by A. Shen: the right to formulate a problem and explain its solution is an inalienable natural right of anyone who is capable of it (translated from Russian).

        In particular, I have some theory written by myself (at notes.algoprog.ru, mostly in Russian, the first chapter is available in English too), and I specifically allow to distribute these notes under GPL license. Moreover, restricting access to digital information is very difficult in general, and I do not see much sense in it.

        At the same time, I hope that my advices are more useful than that of average discord person. And also I look through all OK-solutions of the students of algoprog, not only answer their questions, and "good solutions" and "find a bug" sections (that are available only to paying students) are valuable too.

»
18 months ago, # |
  Vote: I like it -8 Vote: I do not like it

If the solution is not written very well, I do not accept it — I 'ignore' it. In this case I always write a comment, and you will need to redo the solution.

Does this mean if the solution is fine in terms of time complexity, but is unreadable or is a big mess (i.e. spaghetti code), you'll skip the code?

  • »
    »
    18 months ago, # ^ |
      Vote: I like it +14 Vote: I do not like it

    Exactly, I will 'ignore' it and reqire a re-write. That's one of the points of the course: not only to get all tests passed, but also learn to write clear code.

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by KAP (previous revision, new revision, compare).

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Sadly, the vast majority of links go to sites with russian language :(

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes, as I've said, I'm working on it. At the same time, machine translation (Google Translate or Yandex Translate) works rather well nowadays, so you can try it, and in any case students can always ask me any questions, including if they don't understand something in the theory or if they want to find an different theory source.

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      I suggest you to use deepl the quality is better than Google Translate, can't say about Yandex's, many times it offers the same quality as if the text would have been translated by a person.

      • »
        »
        »
        »
        18 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        An interesting service indeed. I've tested on some examples, I would not say that it is obviously better than Yandex, in some cases it is better, in some cases Yandex is better.

        However, in fact the main problem, with current level of machine translation, is not the quality of translation per se, but the possibility to keep all the formatting, equations, etc. And here both Yandex and deepl have some problems.

        At the same time, my plan is not translating all the theory. The plan is to find theory in English, I guess that this is possible for most of the topics.

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    BTW, I hope you meant the links to the theory? Or did you find some other links that are in Russian too?

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

abruptly how much a month do you make from this site?

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I would not disclose this :) Not insanely much, but ~10% of my salary as a senior developer. But at the same time, I do not spend that much time on algoprog, and also algoprog is free for secondary school students from Nizhny Novgorod, who are >1/2 of all the students.

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by KAP (previous revision, new revision, compare).

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by KAP (previous revision, new revision, compare).

»
15 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by KAP (previous revision, new revision, compare).

»
14 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by KAP (previous revision, new revision, compare).