Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, история, 8 дней назад, По-русски,

Привет, Codeforces!

Это не совсем обычный пост от меня. Это не анонс новых фич или чемпионата, но воодушевлен я ничуть не меньше.

Рад сообщить, что с 29 января по 16 февраля 2018 г. буду читать курс "Advanced Algorithms and Data Structures" в Harbour.Space University (Испания, Барселона). Курс будет прочитан на английском языке. Слушателями этого курса будут не только студенты Harbour.Space. Курс открыт для всех желающих! Кто хочет присоединиться?

Обычно курсы приглашенных преподавателей в Harbour.Space предназначены исключительно для студентов университета. Я очень рад, что Harbour.Space в случае моего курса пошел на эксперимент, сделав курс открытым для желающих попасть именно на него. Стоимость обучения составит 1000 евро. Подать заявку можно по ссылке. В стоимость обучения не входит проживание в Барселоне и питание.

Записаться на курс →

В моих планах — подробный рассказ о некоторых алгоритмах и структурах данных, много практических занятий и акцент не только на правильность, но и красоту и структура кода. Моя цель — сделать полезные и интересные занятия для как для всех кто хочет разбираться в фундаментальном CS, так и для интересующихся соревнованиями по программированию. Наверняка, у нас будет возможность познакомиться и пообщаться. Я с удовольствием поделюсь рассказами об истории Codeforces и планами по развитию.

Курс будет состоять из трёх недель обучения, по 5 учебных дней в каждой неделе. В программе — ежедневные лекции и практические занятия. Скучно точно не будет!

Вот предполагаемый план курса:

Неделя День Тема
1 1 Heap data structure, heap properties and operations. HeapSort. Priority queue. Other heap applications. Mergeable heaps: binomial heap, pairing heap, randomised meldable heap.
1 2 Fenwick tree. Description and motivation. Implementation of Fenwick tree. Generalisation for higher dimensions. Skip list data structure. Implementation details. Indexable skiplist.
1 3 Segment trees. Top-down implementation. Bottom-up implementation. Segment trees applications. Persistent data structures. Persistent stack, persistent array. Persistent Fenwick and segment trees.
1 4 Cartesian trees, treap data structure. Merge and split operations. Treap implementation in detail. Treap applications.
1 5 Treaps with implicit keys. Ropes. Segment reverse operation. Examples of problems.
2 6 Introduction to strings. String searching (matching) problem. Pattern pre processings. Z-function, prefix-function. Their applications. Knuth–Morris–Pratt algorithm. Matching finite state machine.
2 7 Multiple pattern matching. Trie data structure. Aho-Corasick algorithm. Implementation details. Dynamic programming on a trie.
2 8 String hashing. Rabin-Karp algorithm. Fast substrings comparison with hashes. Suffix array. LCP array. Efficient construction algorithm. Applications.
2 9 Suffix tree. Ukkonen's algorithm. Suffix tree construction from LCP array. Suffix tree applications.
2 10 Suffix automaton. Size bounds. Linear Algorithm. Using suffix automata as an index for approximate string searches.
3 11 Introduction to automata theory. Formal languages. Context-free languages. Formal grammars. Context-free grammars. NFA, DFA, convert NFA to DFA. Build automaton by regular expression.
3 12 LL(1) parser. Arithmetic expressions parsing. Shunting-yard algorithm. Simplified Pascal language parsing and interpretation.
3 13 Algorithms for traversing a graph. DFS. Properties. DFS search tree. Edges classification. Linear bridge-finding algorithm. Linear articulation points finding algorithm. Strongly connected components. Tarjan's strongly connected components algorithm.
3 14 Tree problems. Bottom-up approach. LCA problem. LCA algorithms.
3 15 Bipartite graphs. König’s criterion. Problems: maximum matching, minimum edge cover, maximum independent vertex set, minimum vertex cover. Connection of the problems. Berge's lemma. Kuhn algorithm. Kuhn algorithm properties. Minimal vertex cover by maximum matching. Cover DAG by minimal number of paths.

Университет Harbour.Space расположен в Барселоне (Испания). Пользователям Codeforces университет Harbour.Space известен по активному участию в жизни сообщества спортивного программирования (сборы и партнерство с Codeforces в рамках образовательных раундов). Основная же деятельность университета — обучение (есть бакалаврские и магистерские программы) по направлениям:

  • Maths as a Second Language
  • Computer Science
  • Data Science
  • Cyber Security
  • Interaction Design
  • Digital Marketing
  • High Tech Entrepreneurship
  • FinTech
  • BioTech
  • Aerospace Engineering
  • SuperCities UrbanTech

Mike Mirzayanov

 
 
 
 
  • Проголосовать: нравится  
  • +150
  • Проголосовать: не нравится  

»
8 дней назад, # |
  Проголосовать: нравится +113 Проголосовать: не нравится

Can't be there an online option be available ?

»
8 дней назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Are these video lectures ?
If not I'd like to request to make them online so that more people can get benefit from this course.

»
8 дней назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Не могли бы вы сделать так же и онлайн курс? Если даже будет платным, мне кажется, многие будут не против его приобрести.

»
8 дней назад, # |
  Проголосовать: нравится +101 Проголосовать: не нравится

Фигасе цены... Такто тому кто выдержит 15 лекций Михаила Рахисовича должны косарь евро приплачивать))))

»
8 дней назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

And how many of those 1000 euros per participant go to you?

I'm up for paying, recording the lectures and reselling them at 50 euros per whole course. I'd pay off my costs and send the profits to you directly. (jk ofc)

  • »
    »
    8 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    By the same argument, I can buy one of yours and resell it for 1 euro. So I think that the recordings should be free.

    • »
      »
      »
      8 дней назад, # ^ |
        Проголосовать: нравится -18 Проголосовать: не нравится

      Whoever wants it for free will find a way to get it for free. My way makes the course affordable and rewards author of the course with sth like donations from people who want to pay for it (don't tell me there wouldn't be anyone, CF has plenty of supporters) instead of helping moneylenders.

      • »
        »
        »
        »
        7 дней назад, # ^ |
          Проголосовать: нравится +10 Проголосовать: не нравится

        I don't know their business model, but I was expecting something like coursera/edx (pay only if you want the certificate). The goal of universities is the creation and distribution of knowledge, so I don't find any reason to not let the recordings for free, for example, in Brazil there is an annual international training camp and all the material (lectures/contest problems) are available for free.

»
8 дней назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Damn I wish I could go but I don't think my manager would send me abroad for 3 weeks :( longest I've had is single weeks in the UK

»
8 дней назад, # |
Rev. 3   Проголосовать: нравится +47 Проголосовать: не нравится

мне это почти всё за бесплатно в университете препод на первом курсе рассказал на русском языке

»
8 дней назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

Why offline?Please record it and take all my money for giving me those lectures.I will code on the streets

»
8 дней назад, # |
  Проголосовать: нравится -22 Проголосовать: не нравится

Why offline? Please take all my money and give me those lectures.I can code on the streets.Peace

»
7 дней назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

We need online course

»
7 дней назад, # |
Rev. 3   Проголосовать: нравится +126 Проголосовать: не нравится

Am I the only one who thinks that this course is ridiculously expensive? I know that the course will be professionally prepared, but really? 1000€?! If you add travel, accomodation and food (for 3 weeks) that's pretty expensive. I know that some people and/or universities can afford this, but on the other hand, I am organizing camps in Poland that cost at most 100€/week with accomodation, travel (within the country), food and several lecturers.

  • »
    »
    7 дней назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    I assume you don't pay much money for teachers (preparing the lectures also takes time) and the university gives classrooms for free?

    Still, I also think 1000€ is expensive for this course. In my university in Finland, a visiting lecturer gets about 100€/h and a classroom costs about 50€/h. So organizing this course would cost about 150*3*15=6750€. So you would only need seven participants to cover all costs.

    • »
      »
      »
      7 дней назад, # ^ |
      Rev. 3   Проголосовать: нравится +37 Проголосовать: не нравится

      We organize camps either in the university classrooms (and we don't pay for them, or in hotels with conference rooms (we pay for them).

      And yes, we don't pay 100€/hour to lecturers and tutors, but we have really healthy environment here in Poland. Most of our participants later help organize those camps and they are really pationate about it. We are organizing such events not to earn money, but to help others.

      We are still paying them for their time.

      • »
        »
        »
        »
        7 дней назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Yeah, we also have a "healthy environment" in Finland — because we don't have money to pay appropriate salary for competitive programming training. 100€/h is what a lecturer would get in an "official" university course, this doesn't apply to our random training camps.

    • »
      »
      »
      4 дня назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      You expect the course to be 3 hours per day? 150*3*5*8 = 18,000

  • »
    »
    4 дня назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Maybe for Poland it's expensive. In the UK a 1 week training course is typically £2,000 so 3 weeks would be £6,000

»
7 дней назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Why not recording the lectures and making it available for all?

  • »
    »
    7 дней назад, # ^ |
      Проголосовать: нравится +19 Проголосовать: не нравится

    Do you want to work for me for free? If no, why?

    • »
      »
      »
      7 дней назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится

      I see your point. But I believe that science should never be exclusive the privileged. Many great institutions offer their recorded courses for free, MIT open courseware for example. I have watched lots of recorded complete courses taught in universities everywhere.

      • »
        »
        »
        »
        7 дней назад, # ^ |
        Rev. 3   Проголосовать: нравится -23 Проголосовать: не нравится

        Joker: "If you're good at something, never do it for free."

        Bill Gates, net worth ~90 B dollars

        Mark Zuckerberg, net worth ~71 B dollars

        Linus Torvalds, net worth ~150 M dollars

        To give you a perspective to their net worth difference:

        90,000,000,000$

        71,000,000,000$

        .....150,000,000$

        You see the difference? No matter how good is your product, if you don't make a value to the customer, you will earn no shit. Harder part is to make people to buy your product, than to make it.

        Mike wants to share some knowledge with you, why would he share it for free? The other thing is wheter his strategy to earn something from it (with this approach and price) is good or not.

        • »
          »
          »
          »
          »
          7 дней назад, # ^ |
          Rev. 2   Проголосовать: нравится +51 Проголосовать: не нравится

          I'd hardly call being worth 150m dollars "earning no shit". Besides I really don't see the point in making as much money as possible at all times. To be frank I don't really understand why someone would want to earn much more than the cost of living, but people can do whatever they want.

          Anyway I hardly doubt any of this is Mike being greedy. I suspect most of the "extra" money is snatched by Harbour.space & co. I doubt Mike has any real control over the pricing of these things.

          • »
            »
            »
            »
            »
            »
            7 дней назад, # ^ |
              Проголосовать: нравится -22 Проголосовать: не нравится

            As you said, different people have different view of how much is enough money.

            "Mike is being greedy" is your opinion, because for you and many other people (including me) 1000$ for something like this is a lot. But there are other people who would think it's a fair enough. Different value of product for different people. Everything has some value, it is just how you make it to the public.

            • »
              »
              »
              »
              »
              »
              »
              7 дней назад, # ^ |
                Проголосовать: нравится +23 Проголосовать: не нравится

              Anyway I hardly doubt any of this is Mike being greedy.

              "Mike is being greedy"

              Come again?

              • »
                »
                »
                »
                »
                »
                »
                »
                7 дней назад, # ^ |
                Rev. 3   Проголосовать: нравится -10 Проголосовать: не нравится

                I understood that you think he is not greedy because little of that money will go to him and he would like to share his knowledge for free. But if course was 10K EUR, you would say: "This is too much, I think he is little greedy."

                Point is that you think someone is greedy if he evaluate product/services through money more than you. Example: "Hey this is too expensive, he just wants to earn some extra money, he is greedy." Greedy is relative. And YES he needs to ask for money for his services.

                But still I would like this to be online/free as well. However, this would be a good way to upgrade Codeforces servers.

            • »
              »
              »
              »
              »
              »
              »
              6 дней назад, # ^ |
                Проголосовать: нравится -10 Проголосовать: не нравится

              "Mike is being greedy"

»
7 дней назад, # |
  Проголосовать: нравится -21 Проголосовать: не нравится

I was called twice from you. but couldn't hear anything due to network connection problem. now, what should I do to contact you? :(

»
7 дней назад, # |
  Проголосовать: нравится -18 Проголосовать: не нравится

Persistent Fenwick tree ??????

»
7 дней назад, # |
  Проголосовать: нравится -18 Проголосовать: не нравится

I would like to know how well the lectures are prepared. Would you make some of them available for free? Also, this is a popular marketing strategy. I'm not going to register even if they are worth the 1000 EUR (because I don't have the money lol). However, I guess, there will be other people who would :3

»
5 дней назад, # |
  Проголосовать: нравится -21 Проголосовать: не нравится

Is it rated ?

»
5 дней назад, # |
  Проголосовать: нравится -19 Проголосовать: не нравится

Is it rated ?

»
5 дней назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Expecting to have online materials of the course(lectures, e-books,slides, etc).

»
4 дня назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

oh, wow, that looks like the course that would fill in all the gaps for me! content at a reasonable price that doesn't offend. the next thing i'll do is go directly to my manager and tell him all about going away for three weeks, and i'm sure he won't care.

You might see me there in Barcelona!

  • »
    »
    4 дня назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I see people saying "my manager". What do u mean? I live in Bosnia, I cant understand you. You have your own manager for competitive programming or what? That would be so weird wtf haha